diff --git a/_data/chains/eip155-10849.json b/_data/chains/eip155-10849.json new file mode 100644 index 000000000000..54919e9e620b --- /dev/null +++ b/_data/chains/eip155-10849.json @@ -0,0 +1,28 @@ +{ + "name": "Lamina1", + "chain": "Lamina1", + "rpc": ["https://subnets.avax.network/lamina1/mainnet/rpc"], + "features": [ + { + "name": "EIP1559" + } + ], + "faucets": [], + "nativeCurrency": { + "name": "L1", + "symbol": "L1", + "decimals": 18 + }, + "infoURL": "https://www.lamina1.com/", + "shortName": "lamina1", + "chainId": 10849, + "networkId": 10849, + "slip44": 1, + "explorers": [ + { + "name": "Lamina1 Explorer", + "url": "https://subnets.avax.network/lamina1", + "standard": "EIP3091" + } + ] +} diff --git a/_data/chains/eip155-10850.json b/_data/chains/eip155-10850.json new file mode 100644 index 000000000000..49b4bdaa9094 --- /dev/null +++ b/_data/chains/eip155-10850.json @@ -0,0 +1,28 @@ +{ + "name": "Lamina1 Identity", + "chain": "Lamina1 Identity", + "rpc": ["https://subnets.avax.network/lamina1id/mainnet/rpc"], + "features": [ + { + "name": "EIP1559" + } + ], + "faucets": [], + "nativeCurrency": { + "name": "L1 ID", + "symbol": "L1ID", + "decimals": 18 + }, + "infoURL": "https://www.lamina1.com/", + "shortName": "lamina1id", + "chainId": 10850, + "networkId": 10850, + "slip44": 1, + "explorers": [ + { + "name": "Lamina1 Identity Explorer", + "url": "https://subnets.avax.network/lamina1id", + "standard": "EIP3091" + } + ] +} diff --git a/_data/chains/eip155-4061.json b/_data/chains/eip155-4061.json index 69f0dbf0647d..44e435ebf6f4 100644 --- a/_data/chains/eip155-4061.json +++ b/_data/chains/eip155-4061.json @@ -1,8 +1,8 @@ { "name": "Nahmii 3 Mainnet", "chain": "Nahmii", - "rpc": [], - "status": "incubating", + "rpc": ["https://rpc.n3.nahmii.io"], + "status": "active", "faucets": [], "nativeCurrency": { "name": "Ether", @@ -14,12 +14,20 @@ "chainId": 4061, "networkId": 4061, "icon": "nahmii", + "explorers": [ + { + "name": "Nahmii 3 Mainnet Explorer", + "url": "https://explorer.nahmii.io", + "icon": "nahmii", + "standard": "EIP3091" + } + ], "parent": { "type": "L2", "chain": "eip155-1", "bridges": [ { - "url": "https://bridge.nahmii.io" + "url": "https://accounts.nahmii.io" } ] } diff --git a/_data/chains/eip155-4062.json b/_data/chains/eip155-4062.json index f72db5290fed..e869c24a8384 100644 --- a/_data/chains/eip155-4062.json +++ b/_data/chains/eip155-4062.json @@ -1,10 +1,11 @@ { "name": "Nahmii 3 Testnet", "chain": "Nahmii", - "rpc": ["https://ngeth.testnet.n3.nahmii.io"], + "rpc": ["https://rpc.testnet.nahmii.io"], + "status": "active", "faucets": [], "nativeCurrency": { - "name": "Goerli Ether", + "name": "Sepolia Ether", "symbol": "ETH", "decimals": 18 }, @@ -17,17 +18,17 @@ "explorers": [ { "name": "Nahmii 3 Testnet Explorer", - "url": "https://explorer.testnet.n3.nahmii.io", + "url": "https://explorer.testnet.nahmii.io", "icon": "nahmii", "standard": "EIP3091" } ], "parent": { "type": "L2", - "chain": "eip155-3", + "chain": "eip155-11155111", "bridges": [ { - "url": "https://bridge.testnet.n3.nahmii.io" + "url": "https://accounts.testnet.nahmii.io" } ] } diff --git a/_data/chains/eip155-5112023.json b/_data/chains/eip155-5112023.json new file mode 100644 index 000000000000..4740f29be249 --- /dev/null +++ b/_data/chains/eip155-5112023.json @@ -0,0 +1,24 @@ +{ + "name": "NumBlock Chain", + "chain": "NumBlock", + "rpc": ["https://rpc-mainnet.numblock.org"], + "faucets": [], + "nativeCurrency": { + "name": "NUMB Token", + "symbol": "NUMB", + "decimals": 18 + }, + "infoURL": "https://numblock.org", + "shortName": "NUMB", + "chainId": 5112023, + "networkId": 5112023, + "icon": "NumBlock", + "explorers": [ + { + "name": "NumBlock Explorer", + "url": "https://mainnet.numblock.org", + "standard": "none", + "icon": "NumBlock" + } + ] +} diff --git a/_data/chains/eip155-5551.json b/_data/chains/eip155-5551.json index c5882f6bad4f..2fe949ac8995 100644 --- a/_data/chains/eip155-5551.json +++ b/_data/chains/eip155-5551.json @@ -1,7 +1,8 @@ { - "name": "Nahmii Mainnet", + "name": "Nahmii 2 Mainnet", "chain": "Nahmii", "rpc": ["https://l2.nahmii.io"], + "status": "active", "faucets": [], "nativeCurrency": { "name": "Ether", @@ -15,8 +16,8 @@ "icon": "nahmii", "explorers": [ { - "name": "Nahmii mainnet explorer", - "url": "https://explorer.nahmii.io", + "name": "Nahmii 2 Mainnet Explorer", + "url": "https://explorer.n2.nahmii.io", "icon": "nahmii", "standard": "EIP3091" } @@ -26,7 +27,7 @@ "chain": "eip155-1", "bridges": [ { - "url": "https://bridge.nahmii.io" + "url": "https://n2.bridge.nahmii.io" } ] } diff --git a/_data/chains/eip155-5553.json b/_data/chains/eip155-5553.json index 58bff6bbe844..41e06007ac01 100644 --- a/_data/chains/eip155-5553.json +++ b/_data/chains/eip155-5553.json @@ -1,7 +1,8 @@ { - "name": "Nahmii Testnet", + "name": "Nahmii 2 Testnet", "chain": "Nahmii", "rpc": ["https://l2.testnet.nahmii.io"], + "status": "deprecated", "faucets": [], "nativeCurrency": { "name": "Ether", diff --git a/_data/chains/eip155-6322.json b/_data/chains/eip155-6322.json new file mode 100644 index 000000000000..3289bc43c7e5 --- /dev/null +++ b/_data/chains/eip155-6322.json @@ -0,0 +1,25 @@ +{ + "name": "Aura Mainnet", + "chain": "Aura", + "rpc": ["https://jsonrpc.aura.network"], + "faucets": [], + "nativeCurrency": { + "name": "Aura", + "symbol": "AURA", + "decimals": 18 + }, + "infoURL": "https://aura.network", + "shortName": "aura", + "chainId": 6322, + "networkId": 6322, + "slip44": 1, + "icon": "aura", + "explorers": [ + { + "name": "Aurascan Explorer", + "url": "https://aurascan.io", + "standard": "none", + "icon": "aura" + } + ] +} diff --git a/_data/chains/eip155-7000.json b/_data/chains/eip155-7000.json index 889e6f9a1407..4ab4ae0c91ba 100644 --- a/_data/chains/eip155-7000.json +++ b/_data/chains/eip155-7000.json @@ -20,7 +20,7 @@ "explorers": [ { "name": "ZetaChain Mainnet Explorer", - "url": "https://explorer.mainnet.zetachain.com", + "url": "https://explorer.zetachain.com", "standard": "none" } ] diff --git a/_data/chains/eip155-764984.json b/_data/chains/eip155-764984.json new file mode 100644 index 000000000000..48ac81916b69 --- /dev/null +++ b/_data/chains/eip155-764984.json @@ -0,0 +1,28 @@ +{ + "name": "Lamina1 Testnet", + "chain": "Lamina1 Testnet", + "rpc": ["https://subnets.avax.network/lamina1tes/testnet/rpc"], + "features": [ + { + "name": "EIP1559" + } + ], + "faucets": [], + "nativeCurrency": { + "name": "Lamina1 Test", + "symbol": "L1T", + "decimals": 18 + }, + "infoURL": "https://fuji.lamina1.com/", + "shortName": "lamina1test", + "chainId": 764984, + "networkId": 764984, + "slip44": 1, + "explorers": [ + { + "name": "Lamina1 Test Explorer", + "url": "https://subnets-test.avax.network/lamina1tes", + "standard": "EIP3091" + } + ] +} diff --git a/_data/chains/eip155-767368.json b/_data/chains/eip155-767368.json new file mode 100644 index 000000000000..5981415c6c37 --- /dev/null +++ b/_data/chains/eip155-767368.json @@ -0,0 +1,28 @@ +{ + "name": "Lamina1 Identity Testnet", + "chain": "Lamina1 Identity Testnet", + "rpc": ["https://subnets.avax.network/lamina1id/testnet/rpc"], + "features": [ + { + "name": "EIP1559" + } + ], + "faucets": [], + "nativeCurrency": { + "name": "L1ID Test", + "symbol": "L1IDT", + "decimals": 18 + }, + "infoURL": "https://fuji.lamina1.com/", + "shortName": "lamina1idtest", + "chainId": 767368, + "networkId": 767368, + "slip44": 1, + "explorers": [ + { + "name": "Lamina1 Identity Testnet Explorer", + "url": "https://subnets-test.avax.network/lamina1id", + "standard": "EIP3091" + } + ] +} diff --git a/_data/chains/eip155-984122.json b/_data/chains/eip155-984122.json new file mode 100644 index 000000000000..14928c4425ba --- /dev/null +++ b/_data/chains/eip155-984122.json @@ -0,0 +1,25 @@ +{ + "name": "Forma", + "chain": "Forma", + "rpc": ["https://rpc.forma.art"], + "faucets": [], + "nativeCurrency": { + "name": "TIA", + "symbol": "TIA", + "decimals": 18 + }, + "features": [{ "name": "EIP155" }, { "name": "EIP1559" }], + "infoURL": "https://forma.art", + "shortName": "forma", + "chainId": 984122, + "networkId": 984122, + "icon": "forma", + "explorers": [ + { + "name": "blockscout", + "url": "https://explorer.forma.art", + "icon": "blockscout", + "standard": "EIP3091" + } + ] +} diff --git a/_data/chains/eip155-984123.json b/_data/chains/eip155-984123.json new file mode 100644 index 000000000000..84ae28bc5689 --- /dev/null +++ b/_data/chains/eip155-984123.json @@ -0,0 +1,25 @@ +{ + "name": "Forma Sketchpad", + "chain": "Forma", + "rpc": ["https://rpc.sketchpad-1.forma.art"], + "faucets": [], + "nativeCurrency": { + "name": "TIA", + "symbol": "TIA", + "decimals": 18 + }, + "features": [{ "name": "EIP155" }, { "name": "EIP1559" }], + "infoURL": "https://forma.art", + "shortName": "sketchpad", + "chainId": 984123, + "networkId": 984123, + "icon": "forma", + "explorers": [ + { + "name": "blockscout", + "url": "https://explorer.sketchpad-1.forma.art", + "icon": "blockscout", + "standard": "EIP3091" + } + ] +} diff --git a/_data/icons/NumBlock.json b/_data/icons/NumBlock.json new file mode 100644 index 000000000000..30901bab0520 --- /dev/null +++ b/_data/icons/NumBlock.json @@ -0,0 +1,8 @@ +[ + { + "url": "ipfs://QmRY72AKDaUwxgPukdfSBj19NfMrmsSm48mdBe9zJcW3jB", + "width": 200, + "height": 200, + "format": "png" + } +] diff --git a/_data/icons/forma.json b/_data/icons/forma.json new file mode 100644 index 000000000000..d699a2005ac4 --- /dev/null +++ b/_data/icons/forma.json @@ -0,0 +1,8 @@ +[ + { + "url": "ipfs://QmQkjcadjAEefa4HLG26pKFvCaNZeZ7wWNxMkCVarW9tiU", + "width": 400, + "height": 400, + "format": "png" + } +] diff --git a/processor/src/main/kotlin/org/ethereum/lists/chains/Main.kt b/processor/src/main/kotlin/org/ethereum/lists/chains/Main.kt index c9d6ab60ef42..54225bdcc96e 100644 --- a/processor/src/main/kotlin/org/ethereum/lists/chains/Main.kt +++ b/processor/src/main/kotlin/org/ethereum/lists/chains/Main.kt @@ -4,6 +4,8 @@ import com.beust.klaxon.JsonArray import java.io.File import com.beust.klaxon.JsonObject import com.beust.klaxon.Klaxon +import okhttp3.OkHttpClient +import okhttp3.Request import org.ethereum.lists.chains.model.* import org.kethereum.erc55.isValid import org.kethereum.model.Address @@ -28,6 +30,8 @@ private val allIconFilesList = iconsPath.listFiles() ?: error("${iconsPath.absol private val allIconFiles = allIconFilesList.filter { !it.isDirectory } private val allUsedIcons = mutableSetOf() +val okHttpClient = OkHttpClient(); + fun main(args: Array) { val argsList = args.toMutableList() @@ -42,7 +46,7 @@ fun main(args: Array) { } else { doChecks( verbose = verbose, - doRPCConnect = argsList.firstOrNull() == "rpcConnect", + onlineChecks = argsList.firstOrNull() == "rpcConnect", doIconDownload = argsList.firstOrNull() == "iconDownload", ) createOutputFiles() @@ -114,10 +118,10 @@ private fun createOutputFiles() { File(buildPath, "CNAME").writeText("chainid.network") } -private fun doChecks(doRPCConnect: Boolean, doIconDownload: Boolean, verbose: Boolean) { +private fun doChecks(onlineChecks: Boolean, doIconDownload: Boolean, verbose: Boolean) { allChainFiles.forEach { file -> try { - checkChain(file, doRPCConnect, verbose) + checkChain(file, onlineChecks, verbose) } catch (exception: Exception) { println("Problem with $file") throw exception @@ -142,7 +146,7 @@ private fun doChecks(doRPCConnect: Boolean, doIconDownload: Boolean, verbose: Bo } val unusedIcons = mutableSetOf() - iconsPath.listFiles().forEach { + iconsPath.listFiles()?.forEach { if (!allUsedIcons.contains(it.name.toString().removeSuffix(".json"))) { unusedIcons.add(it.toString()) } @@ -237,7 +241,7 @@ fun checkIcon(icon: File, withIconDownload: Boolean, allIconCIDs: MutableSet