mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-utils.git
synced 2026-10-20 18:56:26 +00:00
fix(chains): drop node URLs that embed Nova's provider keys (#72)
* fix(chains): drop node URLs that embed Nova's Infura keys
Nova's configs carry Nova's own Infura project keys inside node URLs, and
every sync copied them into ours: Ethereum had four keyed Infura nodes and
Base one, across 43 published files. Our Android build already fills
`{INFURA_API_KEY}` from our own secret; the keyed URLs used another
organisation's quota and would break for every user when Nova rotates them.
- sync_from_nova.py strips nodes whose URL embeds an Infura key, and drops a
chain left with no node (only Ethereum - Goerli, a retired testnet, in the
dev files); merge-chains.py applies the same filter
- the published chain files are rewritten with that filter; nothing else in
them changes (each file round-trips byte for byte through json.dump)
- check_pezkuwi_integrity.py refuses a keyed Infura URL under chains/
* fix(chains): strip every keyed provider URL, and make the gate fail closed
The first pass matched only `infura.io/.../v3/<lowercase hex>`, so it missed
`https://...infura.io/v3/<key>`, upper-case keys and hosts, and Nova's
OnFinality `?apikey=` URLs (Moonriver, and the Hades testnet in v20/v21
preConfigured). preConfigured was copied from Nova without the filter, and the
integrity check passed if grep itself failed.
- one predicate, is_keyed(), in sync_from_nova.py: Infura /v3/ ids and
apikey/api_key/key/token query values, case-insensitive; {PLACEHOLDER}
values are allowed
- preConfigured details are filtered after the copy; a chain left with no
node loses its details file and its index entry (Hades, v20/v21 only)
- rewritten files keep their own indent, so the diff is the data change only
- check 5 imports is_keyed() and checks every string in every JSON file
under chains/; an unreadable file or an empty tree is an error
- check 3 reports a grep error instead of passing on it
This commit is contained in:
1 parent
8bd31ac686
commit
5ca2661eb2
59 files changed
+113
-1365
No files matched your search
@@ -1548,25 +1548,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 5"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/82fd5b2925e341719f10b7ed4376a646",
|
||||
"name": "Infura node 6"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
@@ -7787,10 +7771,6 @@
|
||||
{
|
||||
"url": "wss://base-rpc.publicnode.com",
|
||||
"name": "Base public node"
|
||||
},
|
||||
{
|
||||
"url": "wss://base-mainnet.infura.io/ws/v3/82fd5b2925e341719f10b7ed4376a646",
|
||||
"name": "Ifura node"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1326,17 +1326,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 2"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1326,17 +1326,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 2"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1355,10 +1355,6 @@
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/ws?apikey=41935d3d-3d6c-4a90-a0e1-33c065401d05",
|
||||
"name": "OnFinality node"
|
||||
},
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/public-ws",
|
||||
"name": "OnFinality node"
|
||||
@@ -3332,18 +3328,6 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura test node"
|
||||
@@ -3375,52 +3359,6 @@
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "eip155:5",
|
||||
"name": "Ethereum - Goerli",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "ETH",
|
||||
"priceId": "ethereum",
|
||||
"type": "evmNative",
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/tokens/white/ETH.svg",
|
||||
"precision": 18
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://goerli.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura test node"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Etherscan",
|
||||
"extrinsic": "https://goerli.etherscan.io/tx/{hash}",
|
||||
"account": "https://goerli.etherscan.io/address/{address}",
|
||||
"event": null
|
||||
}
|
||||
],
|
||||
"externalApi": {
|
||||
"history": [
|
||||
{
|
||||
"type": "etherscan",
|
||||
"url": "https://api-goerli.etherscan.io/api",
|
||||
"parameters": {
|
||||
"assetType": "evm"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/gradient/Ethereum_Goerli.svg",
|
||||
"addressPrefix": 5,
|
||||
"options": [
|
||||
"testnet",
|
||||
"ethereumBased",
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "89d3ec46d2fb43ef5a9713833373d5ea666b092fa8fd68fbc34596036571b907",
|
||||
"parentId": "91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3",
|
||||
|
||||
@@ -1340,17 +1340,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 2"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1340,17 +1340,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 2"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1369,10 +1369,6 @@
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/ws?apikey=41935d3d-3d6c-4a90-a0e1-33c065401d05",
|
||||
"name": "OnFinality node"
|
||||
},
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/public-ws",
|
||||
"name": "OnFinality node"
|
||||
@@ -3371,18 +3367,6 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura test node"
|
||||
@@ -3414,52 +3398,6 @@
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "eip155:5",
|
||||
"name": "Ethereum - Goerli",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "ETH",
|
||||
"priceId": "ethereum",
|
||||
"type": "evmNative",
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/tokens/white/ETH.svg",
|
||||
"precision": 18
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://goerli.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura test node"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Etherscan",
|
||||
"extrinsic": "https://goerli.etherscan.io/tx/{hash}",
|
||||
"account": "https://goerli.etherscan.io/address/{address}",
|
||||
"event": null
|
||||
}
|
||||
],
|
||||
"externalApi": {
|
||||
"history": [
|
||||
{
|
||||
"type": "etherscan",
|
||||
"url": "https://api-goerli.etherscan.io/api",
|
||||
"parameters": {
|
||||
"assetType": "evm"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/gradient/Ethereum_Goerli.svg",
|
||||
"addressPrefix": 5,
|
||||
"options": [
|
||||
"testnet",
|
||||
"ethereumBased",
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "89d3ec46d2fb43ef5a9713833373d5ea666b092fa8fd68fbc34596036571b907",
|
||||
"parentId": "91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3",
|
||||
|
||||
@@ -1348,17 +1348,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 2"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1348,17 +1348,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 2"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1380,10 +1380,6 @@
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/ws?apikey=41935d3d-3d6c-4a90-a0e1-33c065401d05",
|
||||
"name": "OnFinality node"
|
||||
},
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/public-ws",
|
||||
"name": "OnFinality node"
|
||||
@@ -3387,18 +3383,6 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura test node"
|
||||
@@ -3430,52 +3414,6 @@
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "eip155:5",
|
||||
"name": "Ethereum - Goerli",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "ETH",
|
||||
"priceId": "ethereum",
|
||||
"type": "evmNative",
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/tokens/white/ETH.svg",
|
||||
"precision": 18
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://goerli.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura test node"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Etherscan",
|
||||
"extrinsic": "https://goerli.etherscan.io/tx/{hash}",
|
||||
"account": "https://goerli.etherscan.io/address/{address}",
|
||||
"event": null
|
||||
}
|
||||
],
|
||||
"externalApi": {
|
||||
"history": [
|
||||
{
|
||||
"type": "etherscan",
|
||||
"url": "https://api-goerli.etherscan.io/api",
|
||||
"parameters": {
|
||||
"assetType": "evm"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/gradient/Ethereum_Goerli.svg",
|
||||
"addressPrefix": 5,
|
||||
"options": [
|
||||
"testnet",
|
||||
"ethereumBased",
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "89d3ec46d2fb43ef5a9713833373d5ea666b092fa8fd68fbc34596036571b907",
|
||||
"parentId": "91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3",
|
||||
|
||||
@@ -1437,18 +1437,6 @@
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1437,18 +1437,6 @@
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1441,10 +1441,6 @@
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/ws?apikey=41935d3d-3d6c-4a90-a0e1-33c065401d05",
|
||||
"name": "OnFinality node"
|
||||
},
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/public-ws",
|
||||
"name": "OnFinality node"
|
||||
@@ -3569,18 +3565,6 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura test node"
|
||||
@@ -3611,51 +3595,6 @@
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "eip155:5",
|
||||
"name": "Ethereum - Goerli",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "ETH",
|
||||
"priceId": "ethereum",
|
||||
"type": "evmNative",
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/tokens/white/ETH.svg",
|
||||
"precision": 18
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://goerli.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura test node"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Etherscan",
|
||||
"extrinsic": "https://goerli.etherscan.io/tx/{hash}",
|
||||
"account": "https://goerli.etherscan.io/address/{address}"
|
||||
}
|
||||
],
|
||||
"externalApi": {
|
||||
"history": [
|
||||
{
|
||||
"type": "etherscan",
|
||||
"url": "https://api-goerli.etherscan.io/api",
|
||||
"parameters": {
|
||||
"assetType": "evm"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/gradient/Ethereum_Goerli.svg",
|
||||
"addressPrefix": 5,
|
||||
"options": [
|
||||
"testnet",
|
||||
"ethereumBased",
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "89d3ec46d2fb43ef5a9713833373d5ea666b092fa8fd68fbc34596036571b907",
|
||||
"parentId": "91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3",
|
||||
|
||||
@@ -1512,18 +1512,6 @@
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1512,18 +1512,6 @@
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -3822,18 +3822,6 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura test node"
|
||||
@@ -3864,51 +3852,6 @@
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "eip155:5",
|
||||
"name": "Ethereum - Goerli",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "ETH",
|
||||
"priceId": "ethereum",
|
||||
"type": "evmNative",
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/tokens/white/ETH.svg",
|
||||
"precision": 18
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://goerli.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura test node"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Etherscan",
|
||||
"extrinsic": "https://goerli.etherscan.io/tx/{hash}",
|
||||
"account": "https://goerli.etherscan.io/address/{address}"
|
||||
}
|
||||
],
|
||||
"externalApi": {
|
||||
"history": [
|
||||
{
|
||||
"type": "etherscan",
|
||||
"url": "https://api-goerli.etherscan.io/api",
|
||||
"parameters": {
|
||||
"assetType": "evm"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/gradient/Ethereum_Goerli.svg",
|
||||
"addressPrefix": 5,
|
||||
"options": [
|
||||
"testnet",
|
||||
"ethereumBased",
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "89d3ec46d2fb43ef5a9713833373d5ea666b092fa8fd68fbc34596036571b907",
|
||||
"parentId": "91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3",
|
||||
|
||||
@@ -1503,18 +1503,6 @@
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1503,18 +1503,6 @@
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -3821,18 +3821,6 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura test node"
|
||||
@@ -3863,51 +3851,6 @@
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "eip155:5",
|
||||
"name": "Ethereum - Goerli",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "ETH",
|
||||
"priceId": "ethereum",
|
||||
"type": "evmNative",
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/tokens/white/ETH.svg",
|
||||
"precision": 18
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://goerli.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura test node"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Etherscan",
|
||||
"extrinsic": "https://goerli.etherscan.io/tx/{hash}",
|
||||
"account": "https://goerli.etherscan.io/address/{address}"
|
||||
}
|
||||
],
|
||||
"externalApi": {
|
||||
"history": [
|
||||
{
|
||||
"type": "etherscan",
|
||||
"url": "https://api-goerli.etherscan.io/api",
|
||||
"parameters": {
|
||||
"assetType": "evm"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/gradient/Ethereum_Goerli.svg",
|
||||
"addressPrefix": 5,
|
||||
"options": [
|
||||
"testnet",
|
||||
"ethereumBased",
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "89d3ec46d2fb43ef5a9713833373d5ea666b092fa8fd68fbc34596036571b907",
|
||||
"parentId": "91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3",
|
||||
|
||||
@@ -1499,25 +1499,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 5"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1499,25 +1499,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 5"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -3864,18 +3864,6 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura test node"
|
||||
@@ -3906,51 +3894,6 @@
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "eip155:5",
|
||||
"name": "Ethereum - Goerli",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "ETH",
|
||||
"priceId": "ethereum",
|
||||
"type": "evmNative",
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/tokens/white/ETH.svg",
|
||||
"precision": 18
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://goerli.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura test node"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Etherscan",
|
||||
"extrinsic": "https://goerli.etherscan.io/tx/{hash}",
|
||||
"account": "https://goerli.etherscan.io/address/{address}"
|
||||
}
|
||||
],
|
||||
"externalApi": {
|
||||
"history": [
|
||||
{
|
||||
"type": "etherscan",
|
||||
"url": "https://api-goerli.etherscan.io/api",
|
||||
"parameters": {
|
||||
"assetType": "evm"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/gradient/Ethereum_Goerli.svg",
|
||||
"addressPrefix": 5,
|
||||
"options": [
|
||||
"testnet",
|
||||
"ethereumBased",
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "89d3ec46d2fb43ef5a9713833373d5ea666b092fa8fd68fbc34596036571b907",
|
||||
"parentId": "91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3",
|
||||
|
||||
@@ -1482,33 +1482,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 5"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/82fd5b2925e341719f10b7ed4376a646",
|
||||
"name": "Infura node 6"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/5717b02168b5434ba23801e1ea755afb",
|
||||
"name": "Infura node 7"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1482,33 +1482,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 5"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/82fd5b2925e341719f10b7ed4376a646",
|
||||
"name": "Infura node 6"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/5717b02168b5434ba23801e1ea755afb",
|
||||
"name": "Infura node 7"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -3814,18 +3814,6 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura test node"
|
||||
@@ -3856,51 +3844,6 @@
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "eip155:5",
|
||||
"name": "Ethereum - Goerli",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "ETH",
|
||||
"priceId": "ethereum",
|
||||
"type": "evmNative",
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/tokens/white/ETH.svg",
|
||||
"precision": 18
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://goerli.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura test node"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Etherscan",
|
||||
"extrinsic": "https://goerli.etherscan.io/tx/{hash}",
|
||||
"account": "https://goerli.etherscan.io/address/{address}"
|
||||
}
|
||||
],
|
||||
"externalApi": {
|
||||
"history": [
|
||||
{
|
||||
"type": "etherscan",
|
||||
"url": "https://api-goerli.etherscan.io/api",
|
||||
"parameters": {
|
||||
"assetType": "evm"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/gradient/Ethereum_Goerli.svg",
|
||||
"addressPrefix": 5,
|
||||
"options": [
|
||||
"testnet",
|
||||
"ethereumBased",
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "89d3ec46d2fb43ef5a9713833373d5ea666b092fa8fd68fbc34596036571b907",
|
||||
"parentId": "91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3",
|
||||
|
||||
@@ -1513,33 +1513,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 5"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/82fd5b2925e341719f10b7ed4376a646",
|
||||
"name": "Infura node 6"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/5717b02168b5434ba23801e1ea755afb",
|
||||
"name": "Infura node 7"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1513,33 +1513,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 5"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/82fd5b2925e341719f10b7ed4376a646",
|
||||
"name": "Infura node 6"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/5717b02168b5434ba23801e1ea755afb",
|
||||
"name": "Infura node 7"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -3818,18 +3818,6 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura test node"
|
||||
@@ -3860,51 +3848,6 @@
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "eip155:5",
|
||||
"name": "Ethereum - Goerli",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "ETH",
|
||||
"priceId": "ethereum",
|
||||
"type": "evmNative",
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/tokens/white/ETH.svg",
|
||||
"precision": 18
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://goerli.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura test node"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Etherscan",
|
||||
"extrinsic": "https://goerli.etherscan.io/tx/{hash}",
|
||||
"account": "https://goerli.etherscan.io/address/{address}"
|
||||
}
|
||||
],
|
||||
"externalApi": {
|
||||
"history": [
|
||||
{
|
||||
"type": "etherscan",
|
||||
"url": "https://api-goerli.etherscan.io/api",
|
||||
"parameters": {
|
||||
"assetType": "evm"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/gradient/Ethereum_Goerli.svg",
|
||||
"addressPrefix": 5,
|
||||
"options": [
|
||||
"testnet",
|
||||
"ethereumBased",
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "89d3ec46d2fb43ef5a9713833373d5ea666b092fa8fd68fbc34596036571b907",
|
||||
"parentId": "91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3",
|
||||
|
||||
@@ -1513,33 +1513,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 5"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/82fd5b2925e341719f10b7ed4376a646",
|
||||
"name": "Infura node 6"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/5717b02168b5434ba23801e1ea755afb",
|
||||
"name": "Infura node 7"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1513,33 +1513,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 5"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/82fd5b2925e341719f10b7ed4376a646",
|
||||
"name": "Infura node 6"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/5717b02168b5434ba23801e1ea755afb",
|
||||
"name": "Infura node 7"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -3818,18 +3818,6 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura test node"
|
||||
@@ -3860,51 +3848,6 @@
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "eip155:5",
|
||||
"name": "Ethereum - Goerli",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "ETH",
|
||||
"priceId": "ethereum",
|
||||
"type": "evmNative",
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/tokens/white/ETH.svg",
|
||||
"precision": 18
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://goerli.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura test node"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Etherscan",
|
||||
"extrinsic": "https://goerli.etherscan.io/tx/{hash}",
|
||||
"account": "https://goerli.etherscan.io/address/{address}"
|
||||
}
|
||||
],
|
||||
"externalApi": {
|
||||
"history": [
|
||||
{
|
||||
"type": "etherscan",
|
||||
"url": "https://api-goerli.etherscan.io/api",
|
||||
"parameters": {
|
||||
"assetType": "evm"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/gradient/Ethereum_Goerli.svg",
|
||||
"addressPrefix": 5,
|
||||
"options": [
|
||||
"testnet",
|
||||
"ethereumBased",
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "89d3ec46d2fb43ef5a9713833373d5ea666b092fa8fd68fbc34596036571b907",
|
||||
"parentId": "91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3",
|
||||
|
||||
@@ -1527,33 +1527,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 5"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/82fd5b2925e341719f10b7ed4376a646",
|
||||
"name": "Infura node 6"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/5717b02168b5434ba23801e1ea755afb",
|
||||
"name": "Infura node 7"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1527,33 +1527,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 5"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/82fd5b2925e341719f10b7ed4376a646",
|
||||
"name": "Infura node 6"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/5717b02168b5434ba23801e1ea755afb",
|
||||
"name": "Infura node 7"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -3910,18 +3910,6 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura test node"
|
||||
@@ -3997,51 +3985,6 @@
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "eip155:5",
|
||||
"name": "Ethereum - Goerli",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "ETH",
|
||||
"priceId": "ethereum",
|
||||
"type": "evmNative",
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/tokens/white/ETH.svg",
|
||||
"precision": 18
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://goerli.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura test node"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Etherscan",
|
||||
"extrinsic": "https://goerli.etherscan.io/tx/{hash}",
|
||||
"account": "https://goerli.etherscan.io/address/{address}"
|
||||
}
|
||||
],
|
||||
"externalApi": {
|
||||
"history": [
|
||||
{
|
||||
"type": "etherscan",
|
||||
"url": "https://api-goerli.etherscan.io/api",
|
||||
"parameters": {
|
||||
"assetType": "evm"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/gradient/Ethereum_Goerli.svg",
|
||||
"addressPrefix": 5,
|
||||
"options": [
|
||||
"testnet",
|
||||
"ethereumBased",
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "89d3ec46d2fb43ef5a9713833373d5ea666b092fa8fd68fbc34596036571b907",
|
||||
"parentId": "91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3",
|
||||
|
||||
@@ -183,10 +183,6 @@
|
||||
"chainId": "65c489fb7bfaf4a27f283faf694a64a8d7ae8fc0ed970fc4ebbf25d03095e4d0",
|
||||
"name": "Niskala (TESTNET)"
|
||||
},
|
||||
{
|
||||
"chainId": "d9d12d9139d020f658d4469fa5c02e331195227da62567d7bf9bbd1abaf77522",
|
||||
"name": "Parachain Hades testnet (TESTNET)"
|
||||
},
|
||||
{
|
||||
"chainId": "466edf864b4314b97f36e45ec21ddb39e0bdc52789377b91be0957d5afad2eb2",
|
||||
"name": "Energy Web X Paseo (TESTNET)"
|
||||
|
||||
@@ -139,10 +139,6 @@
|
||||
"chainId": "65c489fb7bfaf4a27f283faf694a64a8d7ae8fc0ed970fc4ebbf25d03095e4d0",
|
||||
"name": "Niskala (TESTNET)"
|
||||
},
|
||||
{
|
||||
"chainId": "d9d12d9139d020f658d4469fa5c02e331195227da62567d7bf9bbd1abaf77522",
|
||||
"name": "Parachain Hades testnet (TESTNET)"
|
||||
},
|
||||
{
|
||||
"chainId": "466edf864b4314b97f36e45ec21ddb39e0bdc52789377b91be0957d5afad2eb2",
|
||||
"name": "Energy Web X Paseo (TESTNET)"
|
||||
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"chainId": "d9d12d9139d020f658d4469fa5c02e331195227da62567d7bf9bbd1abaf77522",
|
||||
"name": "Parachain Hades testnet (TESTNET)",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "notNodl",
|
||||
"precision": 11,
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/tokens/white/Default.svg"
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://node-6957502816543653888.lh.onfinality.io/ws?apikey=09b04494-3139-4b57-a5d1-e1c4c18748ce",
|
||||
"name": "OnFinality"
|
||||
}
|
||||
],
|
||||
"addressPrefix": 37
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"chainId": "d9d12d9139d020f658d4469fa5c02e331195227da62567d7bf9bbd1abaf77522",
|
||||
"name": "Parachain Hades testnet (TESTNET)",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "notNodl",
|
||||
"precision": 11,
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/tokens/white/Default.svg"
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://node-6957502816543653888.lh.onfinality.io/ws?apikey=09b04494-3139-4b57-a5d1-e1c4c18748ce",
|
||||
"name": "OnFinality"
|
||||
}
|
||||
],
|
||||
"addressPrefix": 37
|
||||
}
|
||||
@@ -1676,25 +1676,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 5"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/82fd5b2925e341719f10b7ed4376a646",
|
||||
"name": "Infura node 6"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1676,25 +1676,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 5"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/82fd5b2925e341719f10b7ed4376a646",
|
||||
"name": "Infura node 6"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -3751,14 +3751,6 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura test node"
|
||||
@@ -3834,51 +3826,6 @@
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "eip155:5",
|
||||
"name": "Ethereum - Goerli",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "ETH",
|
||||
"priceId": "ethereum",
|
||||
"type": "evmNative",
|
||||
"icon": "ETH.svg",
|
||||
"precision": 18
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://goerli.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura test node"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Etherscan",
|
||||
"extrinsic": "https://goerli.etherscan.io/tx/{hash}",
|
||||
"account": "https://goerli.etherscan.io/address/{address}"
|
||||
}
|
||||
],
|
||||
"externalApi": {
|
||||
"history": [
|
||||
{
|
||||
"type": "etherscan",
|
||||
"url": "https://api-goerli.etherscan.io/api",
|
||||
"parameters": {
|
||||
"assetType": "evm"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/gradient/Ethereum_Goerli.svg",
|
||||
"addressPrefix": 5,
|
||||
"options": [
|
||||
"testnet",
|
||||
"ethereumBased",
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "9eb76c5184c4ab8679d2d5d819fdf90b9c001403e9e17da2e14b6d8aec4029c6",
|
||||
"parentId": "91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3",
|
||||
|
||||
@@ -187,10 +187,6 @@
|
||||
"chainId": "65c489fb7bfaf4a27f283faf694a64a8d7ae8fc0ed970fc4ebbf25d03095e4d0",
|
||||
"name": "Niskala (TESTNET)"
|
||||
},
|
||||
{
|
||||
"chainId": "d9d12d9139d020f658d4469fa5c02e331195227da62567d7bf9bbd1abaf77522",
|
||||
"name": "Parachain Hades testnet (TESTNET)"
|
||||
},
|
||||
{
|
||||
"chainId": "466edf864b4314b97f36e45ec21ddb39e0bdc52789377b91be0957d5afad2eb2",
|
||||
"name": "Energy Web X Paseo (TESTNET)"
|
||||
|
||||
@@ -135,10 +135,6 @@
|
||||
"chainId": "65c489fb7bfaf4a27f283faf694a64a8d7ae8fc0ed970fc4ebbf25d03095e4d0",
|
||||
"name": "Niskala (TESTNET)"
|
||||
},
|
||||
{
|
||||
"chainId": "d9d12d9139d020f658d4469fa5c02e331195227da62567d7bf9bbd1abaf77522",
|
||||
"name": "Parachain Hades testnet (TESTNET)"
|
||||
},
|
||||
{
|
||||
"chainId": "466edf864b4314b97f36e45ec21ddb39e0bdc52789377b91be0957d5afad2eb2",
|
||||
"name": "Energy Web X Paseo (TESTNET)"
|
||||
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"chainId": "d9d12d9139d020f658d4469fa5c02e331195227da62567d7bf9bbd1abaf77522",
|
||||
"name": "Parachain Hades testnet (TESTNET)",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "notNodl",
|
||||
"precision": 11,
|
||||
"icon": "Default.svg"
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://node-7273232234617282560.nv.onfinality.io/ws?apikey=b937a7d7-7395-49b9-b745-60a0342fa365",
|
||||
"name": "OnFinality"
|
||||
}
|
||||
],
|
||||
"addressPrefix": 37
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"chainId": "d9d12d9139d020f658d4469fa5c02e331195227da62567d7bf9bbd1abaf77522",
|
||||
"name": "Parachain Hades testnet (TESTNET)",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "notNodl",
|
||||
"precision": 11,
|
||||
"icon": "Default.svg"
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://node-7273232234617282560.nv.onfinality.io/ws?apikey=b937a7d7-7395-49b9-b745-60a0342fa365",
|
||||
"name": "OnFinality"
|
||||
}
|
||||
],
|
||||
"addressPrefix": 37
|
||||
}
|
||||
@@ -1626,25 +1626,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 5"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/82fd5b2925e341719f10b7ed4376a646",
|
||||
"name": "Infura node 6"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1626,25 +1626,9 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/32a2be59297444c9bcb2b61bb700c6fe",
|
||||
"name": "Infura node 5"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 4"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/82fd5b2925e341719f10b7ed4376a646",
|
||||
"name": "Infura node 6"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -3196,14 +3196,6 @@
|
||||
"url": "https://1rpc.io/eth",
|
||||
"name": "One rpc node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 2"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura test node"
|
||||
@@ -3279,51 +3271,6 @@
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "eip155:5",
|
||||
"name": "Ethereum - Goerli",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "ETH",
|
||||
"priceId": "ethereum",
|
||||
"type": "evmNative",
|
||||
"icon": "ETH.svg",
|
||||
"precision": 18
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://goerli.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura test node"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Etherscan",
|
||||
"extrinsic": "https://goerli.etherscan.io/tx/{hash}",
|
||||
"account": "https://goerli.etherscan.io/address/{address}"
|
||||
}
|
||||
],
|
||||
"externalApi": {
|
||||
"history": [
|
||||
{
|
||||
"type": "etherscan",
|
||||
"url": "https://api-goerli.etherscan.io/api",
|
||||
"parameters": {
|
||||
"assetType": "evm"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/gradient/Ethereum_Goerli.svg",
|
||||
"addressPrefix": 5,
|
||||
"options": [
|
||||
"testnet",
|
||||
"ethereumBased",
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "9eb76c5184c4ab8679d2d5d819fdf90b9c001403e9e17da2e14b6d8aec4029c6",
|
||||
"parentId": "91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3",
|
||||
|
||||
@@ -1225,10 +1225,6 @@
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/ws?apikey=41935d3d-3d6c-4a90-a0e1-33c065401d05",
|
||||
"name": "OnFinality node"
|
||||
},
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/public-ws",
|
||||
"name": "OnFinality node"
|
||||
|
||||
@@ -1283,10 +1283,6 @@
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/ws?apikey=41935d3d-3d6c-4a90-a0e1-33c065401d05",
|
||||
"name": "OnFinality node"
|
||||
},
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/public-ws",
|
||||
"name": "OnFinality node"
|
||||
|
||||
@@ -1315,10 +1315,6 @@
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/ws?apikey=41935d3d-3d6c-4a90-a0e1-33c065401d05",
|
||||
"name": "OnFinality node"
|
||||
},
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/public-ws",
|
||||
"name": "OnFinality node"
|
||||
|
||||
@@ -1329,10 +1329,6 @@
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/ws?apikey=41935d3d-3d6c-4a90-a0e1-33c065401d05",
|
||||
"name": "OnFinality node"
|
||||
},
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/public-ws",
|
||||
"name": "OnFinality node"
|
||||
|
||||
@@ -1355,10 +1355,6 @@
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/ws?apikey=41935d3d-3d6c-4a90-a0e1-33c065401d05",
|
||||
"name": "OnFinality node"
|
||||
},
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/public-ws",
|
||||
"name": "OnFinality node"
|
||||
|
||||
@@ -1281,17 +1281,9 @@
|
||||
],
|
||||
"nodeSelectionStrategy": "uniform",
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 2"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1281,17 +1281,9 @@
|
||||
],
|
||||
"nodeSelectionStrategy": "uniform",
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura node"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/9dddd77ac74043dc9a8dc48f82822c7d",
|
||||
"name": "Infura node 2"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
|
||||
@@ -1355,10 +1355,6 @@
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/ws?apikey=41935d3d-3d6c-4a90-a0e1-33c065401d05",
|
||||
"name": "OnFinality node"
|
||||
},
|
||||
{
|
||||
"url": "wss://moonriver.api.onfinality.io/public-ws",
|
||||
"name": "OnFinality node"
|
||||
@@ -3261,10 +3257,6 @@
|
||||
],
|
||||
"nodeSelectionStrategy": "uniform",
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/1e69544301064ef19edb194a14fb75f3",
|
||||
"name": "Infura node 3"
|
||||
},
|
||||
{
|
||||
"url": "wss://mainnet.infura.io/ws/v3/{INFURA_API_KEY}",
|
||||
"name": "Infura test node"
|
||||
@@ -3296,52 +3288,6 @@
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "eip155:5",
|
||||
"name": "Ethereum - Goerli",
|
||||
"assets": [
|
||||
{
|
||||
"assetId": 0,
|
||||
"symbol": "ETH",
|
||||
"priceId": "ethereum",
|
||||
"type": "evmNative",
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/tokens/white/ETH.svg",
|
||||
"precision": 18
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"url": "wss://goerli.infura.io/ws/v3/25bd0a6e359240529b237e5dd8b19e1f",
|
||||
"name": "Infura test node"
|
||||
}
|
||||
],
|
||||
"explorers": [
|
||||
{
|
||||
"name": "Etherscan",
|
||||
"extrinsic": "https://goerli.etherscan.io/tx/{hash}",
|
||||
"account": "https://goerli.etherscan.io/address/{address}",
|
||||
"event": null
|
||||
}
|
||||
],
|
||||
"externalApi": {
|
||||
"history": [
|
||||
{
|
||||
"type": "etherscan",
|
||||
"url": "https://api-goerli.etherscan.io/api",
|
||||
"parameters": {
|
||||
"assetType": "evm"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"icon": "https://raw.githubusercontent.com/novasamatech/nova-utils/master/icons/chains/gradient/Ethereum_Goerli.svg",
|
||||
"addressPrefix": 5,
|
||||
"options": [
|
||||
"testnet",
|
||||
"ethereumBased",
|
||||
"noSubstrateRuntime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chainId": "89d3ec46d2fb43ef5a9713833373d5ea666b092fa8fd68fbc34596036571b907",
|
||||
"parentId": "91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Refuse the four regressions this repo has already had.
|
||||
"""Refuse the five regressions this repo has already had.
|
||||
|
||||
Each check below exists because the thing it forbids happened, was fixed, and in two
|
||||
cases came back. They are cheap; the failures they catch are not.
|
||||
@@ -88,6 +88,8 @@ grep = subprocess.run(
|
||||
capture_output=True,
|
||||
text=True,
|
||||
)
|
||||
if grep.returncode not in (0, 1):
|
||||
errors.append(f"grep for working-branch asset URLs failed: {grep.stderr.strip()}")
|
||||
if grep.stdout.strip():
|
||||
files = grep.stdout.strip().splitlines()
|
||||
errors.append(
|
||||
@@ -107,6 +109,43 @@ for fixture in ("pezkuwi_assets_for_testBalance.json",):
|
||||
f"tests/{fixture} has drifted from pezkuwi-overlay/tests/{fixture}"
|
||||
)
|
||||
|
||||
# ── 5. No third-party API key in a URL ───────────────────────────────────────
|
||||
#
|
||||
# Nova's configs shipped Nova's own provider keys (Infura project ids, OnFinality
|
||||
# apikeys) inside node URLs, and every sync copied them into ours. Our builds fill
|
||||
# {INFURA_API_KEY}-style placeholders from our own secrets; a keyed URL is someone
|
||||
# else's quota and dies when they rotate it. The predicate is the one the sync
|
||||
# uses, and every string in every JSON file is checked, so a file that does not
|
||||
# parse is a failure, not a pass.
|
||||
sys.path.insert(0, str(ROOT / "scripts"))
|
||||
from sync_from_nova import is_keyed # noqa: E402
|
||||
|
||||
keyed_files = []
|
||||
json_files = sorted(p for p in (ROOT / "chains").rglob("*.json"))
|
||||
if not json_files:
|
||||
errors.append("chains/ has no JSON files; the key check would have checked nothing")
|
||||
for path in json_files:
|
||||
try:
|
||||
doc = json.loads(path.read_text(encoding="utf-8"))
|
||||
except (OSError, ValueError) as exc:
|
||||
errors.append(f"{path.relative_to(ROOT)} could not be read for the key check: {exc}")
|
||||
continue
|
||||
stack = [doc]
|
||||
while stack:
|
||||
node = stack.pop()
|
||||
if isinstance(node, dict):
|
||||
stack.extend(node.values())
|
||||
elif isinstance(node, list):
|
||||
stack.extend(node)
|
||||
elif isinstance(node, str) and is_keyed(node):
|
||||
keyed_files.append(path)
|
||||
break
|
||||
if keyed_files:
|
||||
errors.append(
|
||||
f"{len(keyed_files)} file(s) under chains/ embed a provider key in a URL; "
|
||||
f"use a {{PLACEHOLDER}}, e.g. {keyed_files[0].relative_to(ROOT)}"
|
||||
)
|
||||
|
||||
if errors:
|
||||
for e in errors:
|
||||
print(f"::error::{e}")
|
||||
@@ -114,4 +153,5 @@ if errors:
|
||||
sys.exit(1)
|
||||
|
||||
print("Pezkuwi integrity: on-chain assets only, sufficiency declared, "
|
||||
"assets served from master, fixture in step with its source.")
|
||||
"assets served from master, fixture in step with its source, "
|
||||
"no third-party key in a node URL.")
|
||||
@@ -15,8 +15,12 @@ Options:
|
||||
|
||||
import json
|
||||
import argparse
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).parent))
|
||||
from sync_from_nova import strip_keyed_endpoints # noqa: E402
|
||||
|
||||
# Base paths
|
||||
SCRIPT_DIR = Path(__file__).parent
|
||||
ROOT_DIR = SCRIPT_DIR.parent
|
||||
@@ -151,6 +155,9 @@ def merge_chains(nova_chains: list, pezkuwi_chains: list, filter_broken: bool =
|
||||
nova_filtered.append(chain)
|
||||
stats['nova_included'] += 1
|
||||
|
||||
nova_filtered = strip_keyed_endpoints(nova_filtered)
|
||||
stats['nova_included'] = len(nova_filtered)
|
||||
|
||||
# Pezkuwi first, then Nova
|
||||
merged = pezkuwi_chains + nova_filtered
|
||||
stats['total'] = len(merged)
|
||||
|
||||
@@ -19,6 +19,7 @@ Rules:
|
||||
"""
|
||||
|
||||
import json
|
||||
import re
|
||||
import shutil
|
||||
from pathlib import Path
|
||||
|
||||
@@ -51,6 +52,67 @@ def load_blacklist() -> set:
|
||||
return set()
|
||||
|
||||
|
||||
# Nova's configs carry Nova's own provider keys written into node URLs (Infura
|
||||
# project ids, OnFinality apikeys). They are not ours to use: our builds fill
|
||||
# placeholders like `{INFURA_API_KEY}` from our own secrets, and a keyed URL
|
||||
# breaks for every user the day Nova rotates it. check_pezkuwi_integrity.py
|
||||
# imports this same predicate, so the filter and the gate cannot disagree.
|
||||
KEYED_ENDPOINT = re.compile(
|
||||
r"infura\.io/(?:[^?#\s]*/)?v3/[0-9a-z]{32}"
|
||||
r"|[?&](?:api[_-]?key|apikey|access[_-]?token|token|key)=(?!\{)[^&#\s]+",
|
||||
re.IGNORECASE,
|
||||
)
|
||||
|
||||
|
||||
def is_keyed(url: str) -> bool:
|
||||
"""True if the URL embeds a literal credential rather than a {PLACEHOLDER}."""
|
||||
return bool(KEYED_ENDPOINT.search(url))
|
||||
|
||||
|
||||
def strip_chain(chain: dict) -> dict | None:
|
||||
"""The chain without keyed nodes; None if no node is left."""
|
||||
nodes = chain.get('nodes')
|
||||
if not isinstance(nodes, list):
|
||||
return chain
|
||||
kept = [n for n in nodes if not (isinstance(n, dict) and is_keyed(str(n.get('url', ''))))]
|
||||
if not kept:
|
||||
return None
|
||||
return chain if len(kept) == len(nodes) else {**chain, 'nodes': kept}
|
||||
|
||||
|
||||
def strip_keyed_endpoints(chains: list) -> list:
|
||||
"""Drop nodes whose URL embeds a third-party key, and any chain left with no node."""
|
||||
return [c for c in (strip_chain(c) for c in chains) if c is not None]
|
||||
|
||||
|
||||
def rewrite_in_place(path: Path, data):
|
||||
"""Rewrite a JSON file keeping its own indent and trailing newline, so a
|
||||
filtered copy of Nova's file differs from it only where the data does."""
|
||||
raw = path.read_text(encoding='utf-8')
|
||||
second = raw.split('\n', 2)[1] if raw.count('\n') >= 1 else ''
|
||||
indent = (len(second) - len(second.lstrip(' '))) or 2
|
||||
out = json.dumps(data, indent=indent, ensure_ascii=False)
|
||||
path.write_text(out + ('\n' if raw.endswith('\n') else ''), encoding='utf-8')
|
||||
|
||||
|
||||
def strip_preconfigured(preconfig: Path):
|
||||
"""Apply strip_chain to every details file; a chain left with no node is
|
||||
removed together with its entry in the matching index."""
|
||||
for details, index in (("details", "chains.json"), ("detailsDev", "chains_dev.json")):
|
||||
dropped = set()
|
||||
for f in sorted((preconfig / details).glob("*.json")):
|
||||
chain = load_json(f)
|
||||
stripped = strip_chain(chain)
|
||||
if stripped is None:
|
||||
dropped.add(chain.get('chainId'))
|
||||
f.unlink()
|
||||
elif stripped is not chain:
|
||||
rewrite_in_place(f, stripped)
|
||||
index_file = preconfig / index
|
||||
if dropped and index_file.exists():
|
||||
rewrite_in_place(index_file, [c for c in load_json(index_file) if c.get('chainId') not in dropped])
|
||||
|
||||
|
||||
def merge_chains(nova_chains: list, pezkuwi_chains: list, blocked_ids: set) -> list:
|
||||
"""Pezkuwi chains first, then Nova chains. Blocked chains excluded."""
|
||||
pezkuwi_ids = {c['chainId'] for c in pezkuwi_chains}
|
||||
@@ -58,7 +120,7 @@ def merge_chains(nova_chains: list, pezkuwi_chains: list, blocked_ids: set) -> l
|
||||
c for c in nova_chains
|
||||
if c['chainId'] not in pezkuwi_ids and c['chainId'] not in blocked_ids
|
||||
]
|
||||
return pezkuwi_chains + nova_filtered
|
||||
return pezkuwi_chains + strip_keyed_endpoints(nova_filtered)
|
||||
|
||||
|
||||
def merge_xcm(nova_xcm: dict, pezkuwi_xcm: dict) -> dict:
|
||||
@@ -143,6 +205,7 @@ def sync_chains():
|
||||
if output_preconfig.exists():
|
||||
shutil.rmtree(output_preconfig)
|
||||
shutil.copytree(nova_preconfig, output_preconfig)
|
||||
strip_preconfigured(output_preconfig)
|
||||
|
||||
|
||||
def sync_xcm():
|
||||
|
||||
Reference in new issue
Block a user