import dotenv from 'dotenv';
dotenv.config();

import { NetworkType } from './network-type';
import { Network, Networks } from '../types';

export const _networks = {
  // LOCAL NETWORKS
  hardhat: {
    name: 'Hardhat',
    type: NetworkType.local,
    key: 'hardhat',
    shortKey: 'hardhat',
    color: '#83EEFF',
    chain: 31337,
    rpc: process.env.HARDHAT_RPC_URL || 'http://127.0.0.1:8545',
    holographId: 4294967295,
    tokenName: 'Hardhat',
    tokenSymbol: 'HRD',
    explorer: undefined,
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  localhost: {
    name: 'Localhost',
    type: NetworkType.local,
    key: 'localhost',
    shortKey: 'localhost',
    color: '#83EEFF',
    chain: 1338,
    rpc: process.env.LOCALHOST_RPC_URL || 'http://127.0.0.1:8545',
    holographId: 4294967294,
    tokenName: 'Localhost',
    tokenSymbol: 'LH',
    explorer: undefined,
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 65535,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: true,
    protocolMultisig: undefined,
  },
  localhost2: {
    name: 'Localhost 2',
    type: NetworkType.local,
    key: 'localhost2',
    shortKey: 'localhost2',
    color: '#FF0000',
    chain: 1339,
    rpc: process.env.LOCALHOST2_RPC_URL || 'http://127.0.0.1:9545',
    holographId: 4294967293,
    tokenName: 'Localhost 2',
    tokenSymbol: 'LH2',
    explorer: undefined,
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 65534,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: true,
    protocolMultisig: undefined,
  },
  // TEST NETWORKS
  seiTestnetArctic: {
    name: 'Sei EVM Testnet',
    type: NetworkType.testnet,
    key: 'seiTestnetArctic',
    shortKey: 'seiArctic',
    color: '#9e1f19',
    chain: 713715,
    rpc: process.env.SEI_TESTNET_ARCTIC_RPC_URL || 'https://evm-rpc-arctic-1.sei-apis.com',
    holographId: 4000000082,
    tokenName: 'Sei Testnet SEI',
    tokenSymbol: 'SEI',
    explorer: 'https://seistream.app/',
    lzEndpoint: '0x6edce65403992e310a62460808c4b910d972f10f'.toLowerCase(),
    lzExecutor: '0x55c175DD5b039331dB251424538169D8495C18d1'.toLowerCase(),
    lzId: 40258,
    ccipEndpoint: undefined,
    ccipId: '',
    active: true,
    protocolMultisig: undefined,
  },
  lineaTestnetSepolia: {
    name: 'Linea Testnet Sepolia',
    type: NetworkType.testnet,
    key: 'lineaTestnetSepolia',
    shortKey: 'lineaSepolia',
    color: '#ADD8E6',
    chain: 59141,
    rpc: process.env.LINEA_TESTNET_SEPOLIA_RPC_URL || 'https://rpc.sepolia.linea.build',
    holographId: 4000000081,
    tokenName: 'Linea Sepolia ETH',
    tokenSymbol: 'ETH',
    explorer: 'https://sepolia.lineascan.build',
    lzEndpoint: ''.toLowerCase(), // NOTE: Not supported
    lzExecutor: '0xe1a12515F9AB2764b887bF60B923Ca494EBbB2d6'.toLowerCase(),
    lzId: 40287,
    ccipEndpoint: undefined,
    ccipId: '',
    active: true,
    protocolMultisig: undefined,
  },
  mantleTestnetSepolia: {
    name: 'Mantle Testnet Sepolia',
    type: NetworkType.testnet,
    key: 'mantleTestnetSepolia',
    shortKey: 'mantleSepolia',
    color: '#8b9d8e',
    chain: 5003,
    rpc: process.env.MANTLE_TESTNET_SEPOLIA_RPC_URL || 'https://rpc.sepolia.mantle.xyz',
    holographId: 4000000080,
    tokenName: 'Mantle Sepolia ETH',
    tokenSymbol: 'ETH',
    explorer: 'https://explorer.sepolia.mantle.xyz',
    lzEndpoint: '0x6edce65403992e310a62460808c4b910d972f10f'.toLowerCase(),
    lzExecutor: '0x8BEEe743829af63F5b37e52D5ef8477eF12511dE'.toLowerCase(),
    lzId: 40246,
    ccipEndpoint: undefined,
    ccipId: '',
    active: true,
    protocolMultisig: undefined,
  },
  polygonTestnetAmoy: {
    name: 'Polygon Testnet Amoy',
    type: NetworkType.testnet,
    key: 'polygonTestnetAmoy',
    shortKey: 'polygonAmoy',
    color: '#B026FF',
    chain: 80002,
    rpc: process.env.POLYGON_TESTNET_AMOY_RPC_URL || 'https://rpc-amoy.polygon.technology',
    holographId: 4000000079,
    tokenName: 'Polygon Amoy MATIC',
    tokenSymbol: 'MATIC',
    explorer: 'https://www.oklink.com/amoy',
    lzEndpoint: '0x6edce65403992e310a62460808c4b910d972f10f'.toLowerCase(),
    lzExecutor: '0x4Cf1B3Fa61465c2c907f82fC488B43223BA0CF93'.toLowerCase(),
    lzId: 40267,
    ccipEndpoint: undefined,
    ccipId: '',
    active: false,
    protocolMultisig: undefined,
  },
  lineaTestnetGoerli: {
    name: 'Linea Testnet Goerli',
    type: NetworkType.testnet,
    key: 'lineaTestnetGoerli',
    shortKey: 'lineaGoerli',
    color: '#ADD8E6',
    chain: 59140,
    rpc: process.env.LINEA_TESTNET_GOERLI_RPC_URL || 'https://rpc.goerli.linea.build',
    holographId: 4000000078,
    tokenName: 'Linea Goerli ETH',
    tokenSymbol: 'ETH',
    explorer: 'https://goerli.lineascan.build',
    lzEndpoint: '0x6edce65403992e310a62460808c4b910d972f10f'.toLowerCase(),
    lzExecutor: undefined, // Not supported
    lzId: 40157,
    ccipEndpoint: undefined,
    ccipId: '',
    active: true,
    protocolMultisig: '0xC52a64d3a9E0EB867b05b105676148b8A0594846'.toLowerCase(),
  },
  zoraTestnetSepolia: {
    name: 'Zora Sepolia Testnet',
    type: NetworkType.testnet,
    key: 'zoraTestnetSepolia',
    shortKey: 'zoraSepolia',
    color: '#FFFFFF',
    chain: 999999999,
    rpc: process.env.ZORA_TESTNET_SEPOLIA_RPC_URL || '',
    holographId: 4000000077,
    tokenName: 'Zora Sepolia ETH',
    tokenSymbol: 'ETH',
    explorer: 'https://sepolia.explorer.zora.energy',
    lzEndpoint: '0x55370E0fBB5f5b8dAeD978BA1c075a499eB107B8'.toLowerCase(),
    lzExecutor: '0x4Cf1B3Fa61465c2c907f82fC488B43223BA0CF93'.toLowerCase(),
    lzId: 40249,
    ccipEndpoint: undefined,
    ccipId: '',
    active: true,
    protocolMultisig: undefined,
  },
  baseTestnetSepolia: {
    name: 'Base Sepolia Testnet',
    type: NetworkType.testnet,
    key: 'baseTestnetSepolia',
    shortKey: 'baseSepolia',
    color: '#0000FF',
    chain: 84532,
    rpc: process.env.BASE_TESTNET_SEPOLIA_RPC_URL || 'https://sepolia.base.org',
    holographId: 4000000076,
    tokenName: 'Base Sepolia ETH',
    tokenSymbol: 'ETH',
    explorer: 'https://sepolia-explorer.base.org',
    lzEndpoint: '0x55370E0fBB5f5b8dAeD978BA1c075a499eB107B8'.toLowerCase(),
    lzExecutor: '0x8A3D588D9f6AC041476b094f97FF94ec30169d3D'.toLowerCase(),
    lzId: 10245,
    ccipEndpoint: undefined,
    ccipId: '',
    active: true,
    protocolMultisig: undefined,
  },
  arbitrumTestnetSepolia: {
    name: 'Arbitrum Sepolia Testnet',
    type: NetworkType.testnet,
    key: 'arbitrumTestnetSepolia',
    shortKey: 'arbitrumTestnet',
    color: '#0000FF',
    chain: 421614,
    rpc: process.env.ARBITRUM_TESTNET_SEPOLIA_RPC_URL || 'https://arbitrum-sepolia.blockpi.network/v1/rpc/public',
    holographId: 4000000075,
    tokenName: 'Arbitrum Sepolia ETH',
    tokenSymbol: 'ETH',
    explorer: 'https://sepolia.arbiscan.io',
    lzEndpoint: '0x6098e96a28E02f27B1e6BD381f870F1C8Bd169d3'.toLowerCase(),
    lzExecutor: '0x5Df3a1cEbBD9c8BA7F8dF51Fd632A9aef8308897'.toLowerCase(),
    lzId: 40231,
    ccipEndpoint: '0x2a9c5afb0d0e4bab2bcdae109ec4b0c4be15a165'.toLowerCase(),
    ccipId: '3478487238524512106',
    active: true,
    protocolMultisig: undefined,
  },
  optimismTestnetSepolia: {
    name: 'Optimism Sepolia Testnet',
    type: NetworkType.testnet,
    key: 'optimismTestnetSepolia',
    shortKey: 'optimismTestnet',
    color: '#FF0000',
    chain: 11155420,
    rpc: process.env.OPTIMISM_TESTNET_SEPOLIA_RPC_URL || 'https://sepolia.optimism.io',
    holographId: 4000000074,
    tokenName: 'Optimism Sepolia ETH',
    tokenSymbol: 'ETH',
    explorer: 'https://optimism-sepolia.blockscout.com',
    lzEndpoint: '0x55370E0fBB5f5b8dAeD978BA1c075a499eB107B8'.toLowerCase(),
    lzExecutor: '0xDc0D68899405673b932F0DB7f8A49191491A5bcB'.toLowerCase(),
    lzId: 40232,
    ccipEndpoint: undefined,
    ccipId: '',
    active: true,
    protocolMultisig: undefined,
  },
  ethereumTestnetSepolia: {
    name: 'Ethereum Sepolia',
    type: NetworkType.testnet,
    key: 'ethereumTestnetSepolia',
    shortKey: 'sepolia',
    color: '#83EEFF',
    chain: 11155111,
    rpc: process.env.ETHEREUM_TESTNET_SEPOLIA_RPC_URL || 'https://eth-sepolia.g.alchemy.com/v2/demo',
    holographId: 4000000073,
    tokenName: 'Ethereum Sepolia ETH',
    tokenSymbol: 'ETH',
    explorer: 'https://sepolia.etherscan.io',
    lzEndpoint: '0xae92d5aD7583AD66E49A0c67BAd18F6ba52dDDc1'.toLowerCase(),
    lzExecutor: '0x718B92b5CB0a5552039B593faF724D182A881eDA'.toLowerCase(),
    lzId: 40161,
    ccipEndpoint: '0x0bf3de8c5d3e8a2b34d2beeb17abfcebaf363a59'.toLowerCase(),
    ccipId: '16015286601757825753',
    active: true,
    protocolMultisig: '0x8FE61F653450051cEcbae12475BA2b8fbA628c7A'.toLowerCase(),
  },
  baseTestnetGoerli: {
    name: 'Base Goerli Testnet',
    type: NetworkType.testnet,
    key: 'baseTestnetGoerli',
    shortKey: 'baseTestnet',
    color: '#FFFFFF',
    chain: 84531,
    rpc: process.env.BASE_TESTNET_GOERLI_RPC_URL || 'https://goerli.base.org',
    holographId: 4000000072,
    tokenName: 'Base Goerli ETH',
    tokenSymbol: 'ETH',
    explorer: 'https://goerli.basescan.org',
    lzEndpoint: '0x6aB5Ae6822647046626e83ee6dB8187151E1d5ab'.toLowerCase(),
    lzExecutor: undefined, // NOTE: Not supported
    lzId: 10160,
    ccipEndpoint: '0xa8c0c11bf64af62cdca6f93d3769b88bdd7cb93d'.toLowerCase(),
    ccipId: '5790810961207155433',
    active: false,
    protocolMultisig: undefined,
  },
  zoraTestnetGoerli: {
    name: 'Zora Goerli Testnet',
    type: NetworkType.testnet,
    key: 'zoraTestnetGoerli',
    shortKey: 'zoraTestnet',
    color: '#FFFFFF',
    chain: 999,
    rpc: process.env.ZORA_TESTNET_GOERLI_RPC_URL || 'https://testnet.rpc.zora.energy',
    holographId: 4000000071,
    tokenName: 'Zora Goerli ETH',
    tokenSymbol: 'ETH',
    explorer: 'https://testnet.explorer.zora.energy',
    lzEndpoint: '0x83c73Da98cf733B03315aFa8758834b36a195b87'.toLowerCase(),
    lzExecutor: undefined, // NOTE: Not supported
    lzId: 10195,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  mantleTestnet: {
    name: 'Mantle Testnet',
    type: NetworkType.testnet,
    key: 'mantleTestnet',
    shortKey: 'mantleTestnet',
    color: '#8b9d8e',
    chain: 5001,
    rpc: process.env.MANTLE_TESTNET_RPC_URL || 'https://rpc.testnet.mantle.xyz',
    holographId: 4000000070,
    tokenName: 'Mantle Testnet',
    tokenSymbol: 'MNT',
    explorer: 'https://explorer.testnet.mantle.xyz',
    lzEndpoint: '0x2cA20802fd1Fd9649bA8Aa7E50F0C82b479f35fe'.toLowerCase(),
    lzExecutor: undefined, // NOTE: Not supported
    lzId: 10181,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: true,
    protocolMultisig: '0x87Ef913A4D2D7B1d31782E6635A1172371E98123'.toLowerCase(),
  },
  kekChainTestnet: {
    name: 'KeKchain Testnet',
    type: NetworkType.testnet,
    key: 'kekChainTestnet',
    shortKey: 'kekChainTestnet',
    color: '#FFFFFF',
    chain: 420666,
    rpc: process.env.KEK_CHAIN_TESTNET_RPC_URL || 'https://testnet.kekchain.com',
    holographId: 4000000069,
    tokenName: 'KekChain Testnet',
    tokenSymbol: 'KEK',
    explorer: 'https://testnet-explorer.kekchain.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  goChainTestnet: {
    name: 'GoChain Testnet',
    type: NetworkType.testnet,
    key: 'goChainTestnet',
    shortKey: 'goChainTestnet',
    color: '#FFFFFF',
    chain: 31337,
    rpc: process.env.GO_CHAIN_TESTNET_RPC_URL || 'https://testnet-rpc.gochain.io',
    holographId: 4000000068,
    tokenName: 'GoChain Testnet',
    tokenSymbol: 'GO',
    explorer: 'https://testnet-explorer.gochain.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  reiNetworkTestnet: {
    name: 'REI Network Testnet',
    type: NetworkType.testnet,
    key: 'reiNetworkTestnet',
    shortKey: 'reiNetworkTestnet',
    color: '#FFFFFF',
    chain: 12357,
    rpc: process.env.REI_NETWORK_TESTNET_RPC_URL || 'https://rpc-testnet.rei.network',
    holographId: 4000000067,
    tokenName: 'REI Network Testnet',
    tokenSymbol: 'REI',
    explorer: 'https://scan-test.rei.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  reiChainTestnet: {
    name: 'REI Chain Testnet',
    type: NetworkType.testnet,
    key: 'reiChainTestnet',
    shortKey: 'reiChainTestnet',
    color: '#FFFFFF',
    chain: 55556,
    rpc: process.env.REI_CHAIN_TESTNET_RPC_URL || 'https://rei-testnet-rpc.moonrhythm.io',
    holographId: 4000000066,
    tokenName: 'REI Chain Testnet',
    tokenSymbol: 'REI',
    explorer: 'https://testnet.reiscan.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  hooSmartChainTestnet: {
    name: 'Hoo Smart Chain Testnet',
    type: NetworkType.testnet,
    key: 'hooSmartChainTestnet',
    shortKey: 'hooTestnet',
    color: '#FFFFFF',
    chain: 170,
    rpc: process.env.HOO_SMART_CHAIN_TESTNET_RPC_URL || 'https://http-testnet.hoosmartchain.com',
    holographId: 4000000065,
    tokenName: 'Hoo Smart Chain Testnet',
    tokenSymbol: 'HOO',
    explorer: 'https://testnet.hscscan.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  novaTestnetNebula: {
    name: 'Nova Testnet Nebula',
    type: NetworkType.testnet,
    key: 'novaTestnetNebula',
    shortKey: 'novaTestnet',
    color: '#FFFFFF',
    chain: 107,
    rpc: process.env.NOVA_TESTNET_NEBULA_RPC_URL || 'https://testnet.rpc.novanetwork.io:9070',
    holographId: 4000000064,
    tokenName: 'Nebula X',
    tokenSymbol: 'NBX',
    explorer: 'https://explorer.novanetwork.io/?network=Nebula%20Testnet',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  energyWebChainTestnetVolta: {
    name: 'Energy Web Chain Testnet Volta',
    type: NetworkType.testnet,
    key: 'energyWebChainTestnetVolta',
    shortKey: 'energyWebChainTestnet',
    color: '#FFFFFF',
    chain: 73799,
    rpc: process.env.ENERGY_WEB_CHAIN_TESTNET_VOLTA_RPC_URL || 'https://volta-rpc.energyweb.org',
    holographId: 4000000063,
    tokenName: 'Energy Web Chain Testnet Volta',
    tokenSymbol: 'VT',
    explorer: 'http://volta-explorer.energyweb.org',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  nahmiiTestnet: {
    name: 'Nahmii Testnet',
    type: NetworkType.testnet,
    key: 'nahmiiTestnet',
    shortKey: 'nahmiiTestnet',
    color: '#FFFFFF',
    chain: 5553,
    rpc: process.env.NAHMII_TESTNET_RPC_URL || 'https://l2.testnet.nahmii.io',
    holographId: 4000000062,
    tokenName: 'Nahmii Testnet',
    tokenSymbol: 'ETH',
    explorer: 'https://explorer.testnet.nahmii.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  callistoTestnet: {
    name: 'Callisto Testnet',
    type: NetworkType.testnet,
    key: 'callistoTestnet',
    shortKey: 'callistoTestnet',
    color: '#FFFFFF',
    chain: 20729,
    rpc: process.env.CALLISTO_TESTNET_RPC_URL || 'https://testnet-rpc.callisto.network',
    holographId: 4000000061,
    tokenName: 'Callisto Testnet',
    tokenSymbol: 'CLO',
    explorer: 'https://testnet-explorer.callisto.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  godwokenTestnet: {
    name: 'Godwoken Testnet',
    type: NetworkType.testnet,
    key: 'godwokenTestnet',
    shortKey: 'godwokenTestnet',
    color: '#FFFFFF',
    chain: 71401,
    rpc: process.env.GODWOKEN_TESTNET_RPC_URL || 'https://v1.testnet.godwoken.io/rpc',
    holographId: 4000000060,
    tokenName: 'Godwoken Testnet',
    tokenSymbol: 'pCKB',
    explorer: 'https://v1.testnet.gwscan.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  syscoinTestnetTanenbaum: {
    name: 'Syscoin Testnet Tanenbaum',
    type: NetworkType.testnet,
    key: 'syscoinTestnetTanenbaum',
    shortKey: 'syscoinTestnet',
    color: '#FFFFFF',
    chain: 5700,
    rpc: process.env.SYSCOIN_TESTNET_TANENBAUM_RPC_URL || 'https://rpc.tanenbaum.io',
    holographId: 4000000059,
    tokenName: 'Syscoin Testnet Tanenbaum',
    tokenSymbol: 'SYS',
    explorer: 'https://tanenbaum.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  elastosSmartChainTestnet: {
    name: 'Elastos Smart Chain Testnet',
    type: NetworkType.testnet,
    key: 'elastosSmartChainTestnet',
    shortKey: 'elastosTestnet',
    color: '#FFFFFF',
    chain: 21,
    rpc: process.env.ELASTOS_SMART_CHAIN_TESTNET_RPC_URL || 'https://api-testnet.elastos.io/eth',
    holographId: 4000000058,
    tokenName: 'Elastos Smart Chain Testnet',
    tokenSymbol: 'ELA',
    explorer: 'https://esc-testnet.elastos.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  xdcTestnetApothem: {
    name: 'XDC Testnet Apothem (XinFin)',
    type: NetworkType.testnet,
    key: 'xdcTestnetApothem',
    shortKey: 'xdcTestnet',
    color: '#FFFFFF',
    chain: 51,
    rpc: process.env.XDC_TESTNET_APOTHEM_RPC_URL || 'https://rpc.apothem.network',
    holographId: 4000000057,
    tokenName: 'XDC Testnet Apothem (XinFin)',
    tokenSymbol: 'XDC',
    explorer: 'https://explorer.apothem.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  fuseTestnetSpark: {
    name: 'Fuse Testnet Spark',
    type: NetworkType.testnet,
    key: 'fuseTestnetSpark',
    shortKey: 'fuseTestnet',
    color: '#FFFFFF',
    chain: 123,
    rpc: process.env.FUSE_TESTNET_SPARK_RPC_URL || 'https://rpc.fusespark.io',
    holographId: 4000000056,
    tokenName: 'Fuse Testnet Spark',
    tokenSymbol: 'FUSE',
    explorer: 'https://explorer.fusespark.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  polisTestnetSparta: {
    name: 'Polis Testnet Sparta',
    type: NetworkType.testnet,
    key: 'polisTestnetSparta',
    shortKey: 'polisTestnet',
    color: '#FFFFFF',
    chain: 333888,
    rpc: process.env.POLIS_TESTNET_SPARTA_RPC_URL || 'https://sparta-rpc.polis.tech',
    holographId: 4000000055,
    tokenName: 'Polis Testnet Sparta',
    tokenSymbol: 'POLIS',
    explorer: 'https://sparta-explorer.polis.tech',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  meterTestnetWarringstakes: {
    name: 'Meter Testnet Warringstakes',
    type: NetworkType.testnet,
    key: 'meterTestnetWarringstakes',
    shortKey: 'meterTestnet',
    color: '#FFFFFF',
    chain: 83,
    rpc: process.env.METER_TESTNET_WARRINGSTAKES_RPC_URL || 'https://rpctest.meter.io',
    holographId: 4000000054,
    tokenName: 'Meter Testnet Warringstakes',
    tokenSymbol: 'MTR',
    explorer: 'https://scan-warringstakes.meter.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  coinExSmartChainTestnet: {
    name: 'CoinEx Smart Chain Testnet',
    type: NetworkType.testnet,
    key: 'coinExSmartChainTestnet',
    shortKey: 'coinExTestnet',
    color: '#FFFFFF',
    chain: 53,
    rpc: process.env.COIN_EX_SMART_CHAIN_TESTNET_RPC_URL || 'https://testnet-rpc.coinex.net',
    holographId: 4000000053,
    tokenName: 'CoinEx Smart Chain Testnet',
    tokenSymbol: 'CETT',
    explorer: 'https://testnet.coinex.net',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  thunderCoreTestnet: {
    name: 'ThunderCore Testnet',
    type: NetworkType.testnet,
    key: 'thunderCoreTestnet',
    shortKey: 'thunderCoreTestnet',
    color: '#FFFFFF',
    chain: 18,
    rpc: process.env.THUNDER_CORE_TESTNET_RPC_URL || 'https://testnet-rpc.thundercore.com',
    holographId: 4000000052,
    tokenName: 'ThunderCore Testnet',
    tokenSymbol: 'TST',
    explorer: 'https://explorer-testnet.thundercore.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  smartBitcoinCashTestnet: {
    name: 'Smart Bitcoin Cash Testnet',
    type: NetworkType.testnet,
    key: 'smartBitcoinCashTestnet',
    shortKey: 'smartBitcoinCashTestnet',
    color: '#FFFFFF',
    chain: 10001,
    rpc: process.env.SMART_BITCOIN_CASH_TESTNET_RPC_URL || 'https://rpc-testnet.smartbch.org',
    holographId: 4000000051,
    tokenName: 'Smart Bitcoin Cash Testnet',
    tokenSymbol: 'BCH',
    explorer: '',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  stepTestnet: {
    name: 'Step Testnet',
    type: NetworkType.testnet,
    key: 'stepTestnet',
    shortKey: 'stepTestnet',
    color: '#FFFFFF',
    chain: 12345,
    rpc: process.env.STEP_TESTNET_RPC_URL || 'https://rpc.testnet.step.network',
    holographId: 4000000050,
    tokenName: 'Step Testnet',
    tokenSymbol: 'FITFI',
    explorer: 'https://testnet.stepscan.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  ultronTestnet: {
    name: 'Ultron Testnet',
    type: NetworkType.testnet,
    key: 'ultronTestnet',
    shortKey: 'ultronTestnet',
    color: '#FFFFFF',
    chain: 1230,
    rpc: process.env.ULTRON_TESTNET_RPC_URL || 'https://ultron-dev.io',
    holographId: 4000000049,
    tokenName: 'Ultron Testnet',
    tokenSymbol: 'ULX',
    explorer: 'https://explorer.ultron-dev.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  visionTestnetVpioneer: {
    name: 'Vision Testnet Vpioneer',
    type: NetworkType.testnet,
    key: 'visionTestnetVpioneer',
    shortKey: 'visionTestnet',
    color: '#FFFFFF',
    chain: 666666,
    rpc: process.env.VISION_TESTNET_VPIONEER_RPC_URL || 'https://vpioneer.infragrid.v.network/ethereum/compatible',
    holographId: 4000000048,
    tokenName: 'Vision Testnet Vpioneer',
    tokenSymbol: 'VS',
    explorer: 'https://www.visionscan.org',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  /*
  wanchainTestnet: {
    name: 'Wanchain Testnet',
    type: NetworkType.testnet,
    key: 'wanchainTestnet',
    shortKey: 'wanchainTestnet',
    color: '#FFFFFF',
    chain: 999,
    rpc: process.env.WANCHAIN_TESTNET_RPC_URL || 'https://gwan-ssl.wandevs.org:46891',
    holographId: 4000000047,
    tokenName: 'Wanchain Testnet',
    tokenSymbol: 'WAN',
    explorer: 'https://testnet.wanscan.org',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  } ,
*/
  thetaTestnet: {
    name: 'Theta Testnet',
    type: NetworkType.testnet,
    key: 'thetaTestnet',
    shortKey: 'thetaTestnet',
    color: '#FFFFFF',
    chain: 365,
    rpc: process.env.THETA_TESTNET_RPC_URL || 'https://eth-rpc-api-testnet.thetatoken.org/rpc',
    holographId: 4000000046,
    tokenName: 'Testnet',
    tokenSymbol: 'TFUEL',
    explorer: 'https://testnet-explorer.thetatoken.org',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  flareTestnetCoston2: {
    name: 'Flare Testnet Coston 2',
    type: NetworkType.testnet,
    key: 'flareTestnetCoston2',
    shortKey: 'coston2',
    color: '#FFFFFF',
    chain: 114,
    rpc: process.env.FLARE_TESTNET_COSTON2_RPC_URL || 'https://coston2-api.flare.network/ext/bc/C/rpc',
    holographId: 4000000045,
    tokenName: 'Flare Testnet Coston 2',
    tokenSymbol: 'C2FLR',
    explorer: 'https://coston2-explorer.flare.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  flareTestnetCoston: {
    name: 'Flare Testnet Coston',
    type: NetworkType.testnet,
    key: 'flareTestnetCoston',
    shortKey: 'coston',
    color: '#FFFFFF',
    chain: 16,
    rpc: process.env.FLARE_TESTNET_COSTON_RPC_URL || 'https://coston-api.flare.network/ext/bc/C/rpc',
    holographId: 4000000044,
    tokenName: 'Flare Testnet Coston',
    tokenSymbol: 'CFLR',
    explorer: 'https://coston-explorer.flare.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  oasisTestnetSaphire: {
    name: 'Sapphire ParaTime Testnet (Oasis Network)',
    type: NetworkType.testnet,
    key: 'oasisTestnetSaphire',
    shortKey: 'saphireTestnet',
    color: '#FFFFFF',
    chain: 23295,
    rpc: process.env.OASIS_TESTNET_SAPHIRE_RPC_URL || 'https://testnet.sapphire.oasis.dev',
    holographId: 4000000043,
    tokenName: 'Saphire ParaTime Testnet (Oasis Network)',
    tokenSymbol: 'ROSE',
    explorer: 'https://testnet.explorer.sapphire.oasis.dev',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  oasisTestnetEmerald: {
    name: 'Emerald ParaTime Testnet (Oasis Network)',
    type: NetworkType.testnet,
    key: 'oasisTestnetEmerald',
    shortKey: 'emeraldTestnet',
    color: '#FFFFFF',
    chain: 42261,
    rpc: process.env.OASIS_TESTNET_EMERALD_RPC_URL || 'https://testnet.emerald.oasis.dev',
    holographId: 4000000042,
    tokenName: 'Emerald ParaTime Testnet (Oasis Network)',
    tokenSymbol: 'ROSE',
    explorer: 'https://testnet.explorer.emerald.oasis.dev',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  rskTestnet: {
    name: 'RSK Testnet',
    type: NetworkType.testnet,
    key: 'rskTestnet',
    shortKey: 'rskTestnet',
    color: '#FFFFFF',
    chain: 31,
    rpc: process.env.RSK_TESTNET_RPC_URL || 'https://public-node.testnet.rsk.co',
    holographId: 4000000041,
    tokenName: 'RSK Testnet',
    tokenSymbol: 'RBTC',
    explorer: 'https://explorer.testnet.rsk.co',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  astarTestnetShibuya: {
    name: 'Astar Shibuya Testnet',
    type: NetworkType.testnet,
    key: 'astarTestnetShibuya',
    shortKey: 'astarTestnet',
    color: '#FFFFFF',
    chain: 81,
    rpc: process.env.ASTAR_TESTNET_SHIBUYA_TESTNET_RPC_URL || 'https://evm.shibuya.astar.network',
    holographId: 4000000040,
    tokenName: 'Astar Shibuya Testnet',
    tokenSymbol: 'SBY',
    explorer: 'https://blockscout.com/shibuya',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  publicMintTestnet: {
    name: 'Public Mint Testnet',
    type: NetworkType.testnet,
    key: 'publicMintTestnet',
    shortKey: 'publicMintTestnet',
    color: '#FFFFFF',
    chain: 2019,
    rpc: process.env.PUBLIC_MINT_TESTNET_RPC_URL || 'https://rpc.tst.publicmint.io:8545',
    holographId: 4000000039,
    tokenName: 'Public Mint Testnet',
    tokenSymbol: 'USD',
    explorer: 'https://explorer.tst.publicmint.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  kccTestnet: {
    name: 'KCC Testnet (KuCoin)',
    type: NetworkType.testnet,
    key: 'kccTestnet',
    shortKey: 'kccTestnet',
    color: '#FFFFFF',
    chain: 322,
    rpc: process.env.KCC_TESTNET_RPC_URL || 'https://rpc-testnet.kcc.network',
    holographId: 4000000038,
    tokenName: 'KCC Testnet',
    tokenSymbol: 'KCS',
    explorer: 'https://scan-testnet.kcc.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  hecoChainTestnet: {
    name: 'HECO Chain Testnet',
    type: NetworkType.testnet,
    key: 'hecoChainTestnet',
    shortKey: 'hecoTestnet',
    color: '#FFFFFF',
    chain: 256,
    rpc: process.env.HECO_CHAIN_TESTNET_RPC_URL || 'https://http-testnet.hecochain.com',
    holographId: 4000000037,
    tokenName: 'HECO Chain Testnet',
    tokenSymbol: 'HT',
    explorer: 'https://testnet.hecoinfo.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  fusionTestnet: {
    name: 'Fusion Testnet (AnySwap)',
    type: NetworkType.testnet,
    key: 'fusionTestnet',
    shortKey: 'fusionTestnet',
    color: '#FFFFFF',
    chain: 46688,
    rpc: process.env.FUSION_TESTNET_RPC_URL || 'https://testnet.anyswap.exchange',
    holographId: 4000000036,
    tokenName: 'Fusion Testnet',
    tokenSymbol: 'FSN',
    explorer: 'https://testnet.fsnscan.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  kavaEvmTestnet: {
    name: 'Kava EVM Testnet',
    type: NetworkType.testnet,
    key: 'kavaEvmTestnet',
    shortKey: 'kavaTestnet',
    color: '#FFFFFF',
    chain: 2221,
    rpc: process.env.KAVA_EVM_TESTNET_RPC_URL || 'https://evm.testnet.kava.io',
    holographId: 4000000035,
    tokenName: 'Kava EVM Testnet',
    tokenSymbol: 'KAVA',
    explorer: 'https://explorer.testnet.kava.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  velasEvmTestnet: {
    name: 'Velas EVM Testnet',
    type: NetworkType.testnet,
    key: 'velasEvmTestnet',
    shortKey: 'velasTestnet',
    color: '#FFFFFF',
    chain: 111,
    rpc: process.env.VELAS_EVM_TESTNET_RPC_URL || 'https://evmexplorer.testnet.velas.com/rpc',
    holographId: 4000000034,
    tokenName: 'Velas EVM Testnet',
    tokenSymbol: 'VLX',
    explorer: 'https://evmexplorer.testnet.velas.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  tomoChainTestnet: {
    name: 'TomoChain Testnet',
    type: NetworkType.testnet,
    key: 'tomoChainTestnet',
    shortKey: 'tomoTestnet',
    color: '#FFFFFF',
    chain: 89,
    rpc: process.env.TOMO_CHAIN_TESTNET_RPC_URL || 'https://rpc.testnet.tomochain.com',
    holographId: 4000000033,
    tokenName: 'TomoChain Testnet',
    tokenSymbol: 'TOMO',
    explorer: 'https://scan.testnet.tomochain.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  telosEvmTestnet: {
    name: 'Telos EVM Testnet',
    type: NetworkType.testnet,
    key: 'telosEvmTestnet',
    shortKey: 'telosTestnet',
    color: '#FFFFFF',
    chain: 41,
    rpc: process.env.TELOS_EVM_TESTNET_RPC_URL || 'https://testnet.telos.net/evm',
    holographId: 4000000032,
    tokenName: 'Telos EVM Testnet',
    tokenSymbol: 'TLOS',
    explorer: 'https://testnet.teloscan.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  palmNftTestnet: {
    name: 'Palm NFT Testnet',
    type: NetworkType.testnet,
    key: 'palmNftTestnet',
    shortKey: 'palmTestnet',
    color: '#FFFFFF',
    chain: 11297108099,
    rpc: process.env.PALM_NFT_TESTNET_RPC_URL || 'https://palm-testnet.public.blastapi.io',
    holographId: 4000000031,
    tokenName: 'Palm NFT Testnet',
    tokenSymbol: 'PALM',
    explorer: 'https://explorer.palm-uat.xyz',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  okxTestnet: {
    name: 'OKExChain Testnet',
    type: NetworkType.testnet,
    key: 'okxTestnet',
    shortKey: 'okxTestnet',
    color: '#FFFFFF',
    chain: 65,
    rpc: process.env.OKX_TESTNET_RPC_URL || 'https://exchaintestrpc.okex.org',
    holographId: 4000000030,
    tokenName: 'OKExChain Testnet',
    tokenSymbol: 'OKT',
    explorer: 'https://www.oklink.com/en/okc-test',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  metisTestnetGoerli: {
    name: 'Metis Goerli Testnet',
    type: NetworkType.testnet,
    key: 'metisTestnetGoerli',
    shortKey: 'metisGoerli',
    color: '#FFFFFF',
    chain: 599,
    rpc: process.env.METIS_TESTNET_GOERLI_RPC_URL || 'https://goerli.gateway.metisdevops.link',
    holographId: 4000000029,
    tokenName: 'Metis Goerli Testnet',
    tokenSymbol: 'METIS',
    explorer: 'https://goerli.explorer.metisdevops.link',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  klaytnTestnet: {
    name: 'Klaytn Baobab Testnet',
    type: NetworkType.testnet,
    key: 'klaytnTestnet',
    shortKey: 'baobab',
    color: '#FFFFFF',
    chain: 1001,
    rpc: process.env.KLAYTN_TESTNET_RPC_URL || 'https://api.baobab.klaytn.net:8651',
    holographId: 4000000028,
    tokenName: 'Klaytn Baobab Testnet',
    tokenSymbol: 'KLAY',
    explorer: 'https://baobab.scope.klaytn.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  iotexTestnet: {
    name: 'IoTeX Network Testnet',
    type: NetworkType.testnet,
    key: 'iotexTestnet',
    shortKey: 'iotexTestnet',
    color: '#FFFFFF',
    chain: 4690,
    rpc: process.env.IOTEX_TESTNET_RPC_URL || 'https://babel-api.testnet.iotex.io',
    holographId: 4000000027,
    tokenName: 'IoTeX Network Testnet',
    tokenSymbol: 'IOTX',
    explorer: 'https://testnet.iotexscan.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  evmosTestnet: {
    name: 'Evmos Testnet',
    type: NetworkType.testnet,
    key: 'evmosTestnet',
    shortKey: 'evmosTestnet',
    color: '#FFFFFF',
    chain: 9000,
    rpc: process.env.EVMOS_TESTNET_RPC_URL || 'https://eth.bd.evmos.dev:8545',
    holographId: 4000000026,
    tokenName: 'Evmos Testnet',
    tokenSymbol: 'EVMOS',
    explorer: 'https://evm.evmos.dev',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  dogechainTestnet: {
    name: 'Dogechain Testnet',
    type: NetworkType.testnet,
    key: 'dogechainTestnet',
    shortKey: 'dogechainTestnet',
    color: '#FFFFFF',
    chain: 568,
    rpc: process.env.DOGECHAIN_TESTNET_RPC_URL || 'https://rpc-testnet.dogechain.dog',
    holographId: 4000000025,
    tokenName: 'Dogechain Testnet',
    tokenSymbol: 'DOGE',
    explorer: 'https://explorer-testnet.dogechain.dog',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  cantoTestnet: {
    name: 'Canto Testnet',
    type: NetworkType.testnet,
    key: 'cantoTestnet',
    shortKey: 'cantoTestnet',
    color: '#FFFFFF',
    chain: 740,
    rpc: process.env.CANTO_TESTNET_RPC_URL || 'https://eth.plexnode.wtf',
    holographId: 4000000024,
    tokenName: 'Canto Testnet',
    tokenSymbol: 'CANTO',
    explorer: 'https://testnet-explorer.canto.neobase.one',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  bobaFantomTestnet: {
    name: 'BOBA Fantom Testnet L2',
    type: NetworkType.testnet,
    key: 'bobaFantomTestnet',
    shortKey: 'bobaFantomTestnet',
    color: '#FFFFFF',
    chain: 4051,
    rpc: process.env.BOBA_FANTOM_TESTNET_RPC_URL || 'https://testnet.bobaopera.boba.network',
    holographId: 4000000023,
    tokenName: 'BOBA Fantom Testnet',
    tokenSymbol: 'BOBA',
    explorer: 'https://blockexplorer.testnet.bobaopera.boba.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  bobaMoonbeamTestnet: {
    name: 'BOBA Moonbeam Testnet L2',
    type: NetworkType.testnet,
    key: 'bobaMoonbeamTestnet',
    shortKey: 'bobaMoonbase',
    color: '#FFFFFF',
    chain: 1297,
    rpc: process.env.BOBA_MOONBEAM_TESTNET_RPC_URL || 'https://bobabase.boba.network',
    holographId: 4000000022,
    tokenName: 'BOBA Moonbeam Testnet',
    tokenSymbol: 'BOBA',
    explorer: 'https://blockexplorer.bobabase.boba.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  bobaBinanceChainTestnet: {
    name: 'BOBA BNB Testnet L2',
    type: NetworkType.testnet,
    key: 'bobaBinanceChainTestnet',
    shortKey: 'bobaBnbTestnet',
    color: '#FFFFFF',
    chain: 9728,
    rpc: process.env.BOBA_BINANCE_CHAIN_TESTNET_RPC_URL || 'https://testnet.bnb.boba.network',
    holographId: 4000000021,
    tokenName: 'BOBA BNB Testnet',
    tokenSymbol: 'BOBA',
    explorer: 'https://blockexplorer.testnet.bnb.boba.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  bobaAvalancheTestnet: {
    name: 'BOBA Avalanche Fuji L2',
    type: NetworkType.testnet,
    key: 'bobaAvalancheTestnet',
    shortKey: 'bobaFuji',
    color: '#FFFFFF',
    chain: 4328,
    rpc: process.env.BOBA_AVALANCHE_TESTNET_RPC_URL || 'https://testnet.avax.boba.network',
    holographId: 4000000020,
    tokenName: 'BOBA Fuji',
    tokenSymbol: 'ETH',
    explorer: 'https://blockexplorer.testnet.avax.boba.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  bobaEthereumTestnetGoerli: {
    name: 'BOBA Ethereum Goerli L2',
    type: NetworkType.testnet,
    key: 'bobaEthereumTestnetGoerli',
    shortKey: 'bobaGoerli',
    color: '#FFFFFF',
    chain: 2888,
    rpc: process.env.BOBA_ETHEREUM_TESTNET_GOERLI_RPC_URL || 'https://goerli.boba.network',
    holographId: 4000000019,
    tokenName: 'BOBA Ethereum Goerli',
    tokenSymbol: 'ETH',
    explorer: 'https://testnet.bobascan.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  celoTestnetAlfajorest: {
    name: 'Celo Alfajorest',
    type: NetworkType.testnet,
    key: 'celoTestnetAlfajorest',
    shortKey: 'celoTestnet',
    color: '#FFFFFF',
    chain: 44787,
    rpc: process.env.CELO_TESTNET_ALFAJORES_RPC_URL || 'https://alfajores-forno.celo-testnet.org',
    holographId: 4000000018,
    tokenName: 'Celo Alfajorest',
    tokenSymbol: 'CELO',
    explorer: 'https://explorer.celo.org/alfajores',
    lzEndpoint: '0xae92d5aD7583AD66E49A0c67BAd18F6ba52dDDc1'.toLowerCase(),
    lzExecutor: undefined,
    lzId: 10125,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  moonbeamTestnet: {
    name: 'Moonbase Alpha',
    type: NetworkType.testnet,
    key: 'moonbeamTestnet',
    shortKey: 'moonbeamTestnet',
    color: '#FFFFFF',
    chain: 1287,
    rpc: process.env.MOONBEAM_TESTNET_RPC_URL || 'https://rpc.api.moonbase.moonbeam.network',
    holographId: 4000000017,
    tokenName: 'Moonbase Alpha',
    tokenSymbol: 'DEV',
    explorer: 'https://moonbase.moonscan.io',
    lzEndpoint: '0xb23b28012ee92E8dE39DEb57Af31722223034747'.toLowerCase(),
    lzExecutor: undefined,
    lzId: 10126,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  harmonyTestnet: {
    name: 'Harmony Testnet',
    type: NetworkType.testnet,
    key: 'harmonyTestnet',
    shortKey: 'harmonyTestnet',
    color: '#FFFFFF',
    chain: 1666700000,
    rpc: process.env.HARMONY_TESTNET_RPC_URL || 'https://api.s0.b.hmny.io',
    holographId: 4000000016,
    tokenName: 'Harmony',
    tokenSymbol: 'ONE',
    explorer: 'https://explorer.testnet.harmony.one',
    lzEndpoint: '0xae92d5aD7583AD66E49A0c67BAd18F6ba52dDDc1'.toLowerCase(),
    lzExecutor: undefined,
    lzId: 10133,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  optimismTestnetGoerli: {
    name: 'Optimism Goerli',
    type: NetworkType.testnet,
    key: 'optimismTestnetGoerli',
    shortKey: 'optimismGoerli',
    color: '#3498db',
    chain: 420,
    rpc: process.env.OPTIMISM_TESTNET_GOERLI_RPC_URL || 'https://goerli.optimism.io',
    holographId: 4000000015,
    tokenName: 'Optimism Goerli',
    tokenSymbol: 'ETH',
    explorer: 'https://goerli-optimism.etherscan.io',
    lzEndpoint: '0xae92d5aD7583AD66E49A0c67BAd18F6ba52dDDc1'.toLowerCase(),
    lzExecutor: undefined,
    lzId: 10132,
    ccipEndpoint: '0xEB52E9Ae4A9Fb37172978642d4C141ef53876f26'.toLowerCase(),
    ccipId: '2664363617261496610',
    active: false,
    protocolMultisig: undefined,
  },
  arbitrumTestnetGoerli: {
    name: 'Arbitrum Goerli',
    type: NetworkType.testnet,
    key: 'arbitrumTestnetGoerli',
    shortKey: 'arbitrumGoerli',
    color: '#28a0f0',
    chain: 421613,
    rpc: process.env.ARBITRUM_TESTNET_GOERLI_RPC_URL || 'https://goerli-rollup.arbitrum.io/rpc',
    holographId: 4000000014,
    tokenName: 'Arbitrum Goerli',
    tokenSymbol: 'ETH',
    explorer: 'https://goerli.arbiscan.io',
    lzEndpoint: '0x6aB5Ae6822647046626e83ee6dB8187151E1d5ab'.toLowerCase(),
    lzExecutor: undefined,
    lzId: 10143,
    ccipEndpoint: '0x88E492127709447A5ABEFdaB8788a15B4567589E'.toLowerCase(),
    ccipId: '6101244977088475029',
    active: false,
    protocolMultisig: undefined,
  },
  auroraTestnet: {
    name: 'Aurora Testnet',
    type: NetworkType.testnet,
    key: 'auroraTestnet',
    shortKey: 'auroraTestnet',
    color: '#FFFFFF',
    chain: 1313161555,
    rpc: process.env.AURORA_TESTNET_RPC_URL || 'https://testnet.aurora.dev',
    holographId: 4000000013,
    tokenName: 'Aurora Testnet ETH',
    tokenSymbol: 'ETH',
    explorer: 'https://testnet.aurorascan.dev',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  cronosTestnet: {
    name: 'Cronos Testnet',
    type: NetworkType.testnet,
    key: 'cronosTestnet',
    shortKey: 'cronosTestnet',
    color: '#FFFFFF',
    chain: 338,
    rpc: process.env.CRONOS_TESTNET_RPC_URL || 'https://evm-t3.cronos.org',
    holographId: 4000000012,
    tokenName: 'Cronos Testnet',
    tokenSymbol: 'CRO',
    explorer: 'https://testnet.cronoscan.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  ethereumTestnetGoerli: {
    name: 'Ethereum Goerli',
    type: NetworkType.testnet,
    key: 'ethereumTestnetGoerli',
    shortKey: 'goerli',
    color: '#83EEFF',
    chain: 5,
    rpc: process.env.ETHEREUM_TESTNET_GOERLI_RPC_URL || 'https://goerli.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161',
    holographId: 4000000011,
    tokenName: 'Ethereum Goerli',
    tokenSymbol: 'ETH',
    explorer: 'https://goerli.etherscan.io',
    lzEndpoint: '0xbfD2135BFfbb0B5378b56643c2Df8a87552Bfa23'.toLowerCase(),
    lzExecutor: undefined,
    lzId: 10121,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: '0xcb5E71E000288e2648Bb0E7b67D3f2850e56EF67'.toLowerCase(),
  },
  ethereumTestnetKovan: {
    name: 'Ethereum Kovan',
    type: NetworkType.testnet,
    key: 'ethereumTestnetKovan',
    shortKey: 'kovan',
    color: '#FFFFFF',
    chain: 42,
    rpc: process.env.ETHEREUM_TESTNET_KOVAN_RPC_URL || 'https://kovan.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161',
    holographId: 4000000010,
    tokenName: 'Ethereum Kovan',
    tokenSymbol: 'ETH',
    explorer: 'https://kovan.etherscan.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
    deprecated: true,
  },
  ethereumTestnetRopsten: {
    name: '',
    type: NetworkType.testnet,
    key: 'ethereumTestnetRopsten',
    shortKey: 'ropsten',
    color: '#FFFFFF',
    chain: 3,
    rpc:
      process.env.ETHEREUM_TESTNET_ROPSTEN_RPC_URL || 'https://ropsten.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161',
    holographId: 4000000009,
    tokenName: 'Ethereum Ropsten',
    tokenSymbol: 'ETH',
    explorer: 'https://ropsten.etherscan.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
    deprecated: true,
  },
  gnosisTestnetSokol: {
    name: 'Gnosis Chain Sokol',
    type: NetworkType.testnet,
    key: 'gnosisTestnetSokol',
    shortKey: 'gnosisTestnet',
    color: '#FFFFFF',
    chain: 77,
    rpc: process.env.GNOSIS_TESTNET_SOKOL_RPC_URL || 'https://sokol.poa.network',
    holographId: 4000000008,
    tokenName: 'Gnosis Chain Sokol',
    tokenSymbol: 'xDAI',
    explorer: undefined,
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  optimismTestnetKovan: {
    name: 'Optimism Kovan',
    type: NetworkType.testnet,
    key: 'optimismTestnetKovan',
    shortKey: 'optimismKovan',
    color: '#FFFFFF',
    chain: 69,
    rpc: process.env.OPTIMISM_TESTNET_KOVAN_RPC_URL || 'https://kovan.optimism.io',
    holographId: 4000000007,
    tokenName: 'Optimism Kovan',
    tokenSymbol: 'ETH',
    explorer: 'https://kovan-optimistic.etherscan.io',
    lzEndpoint: '0x72aB53a133b27Fa428ca7Dc263080807AfEc91b5'.toLowerCase(),
    lzExecutor: undefined,
    lzId: 10111,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
    deprecated: true,
  },
  arbitrumTestnetRinkeby: {
    name: 'Arbitrum Rinkeby',
    type: NetworkType.testnet,
    key: 'arbitrumTestnetRinkeby',
    shortKey: 'arbitrumRinkeby',
    color: '#FFFFFF',
    chain: 421611,
    rpc: process.env.ARBITRUM_TESTNET_RINKEBY_RPC_URL || 'https://rinkeby.arbitrum.io/rpc',
    holographId: 4000000006,
    tokenName: 'Arbitrum Rinkeby',
    tokenSymbol: 'ETH',
    explorer: 'https://rinkeby.arbiscan.io',
    lzEndpoint: '0x4D747149A57923Beb89f22E6B7B97f7D8c087A00'.toLowerCase(),
    lzExecutor: undefined,
    lzId: 10110,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
    deprecated: true,
  },
  fantomTestnet: {
    name: 'Fantom Testnet',
    type: NetworkType.testnet,
    key: 'fantomTestnet',
    shortKey: 'fantomTestnet',
    color: '#FFFFFF',
    chain: 4002,
    rpc: process.env.FANTOM_TESTNET_RPC_URL || 'https://rpc.testnet.fantom.network',
    holographId: 4000000005,
    tokenName: 'Fantom Testnet',
    tokenSymbol: 'FTM',
    explorer: 'https://testnet.ftmscan.com',
    lzEndpoint: '0x7dcAD72640F835B0FA36EFD3D6d3ec902C7E5acf'.toLowerCase(),
    lzExecutor: undefined,
    lzId: 10112,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  polygonTestnet: {
    name: 'Polygon Mumbai',
    type: NetworkType.testnet,
    key: 'polygonTestnet',
    shortKey: 'mumbai',
    color: '#B026FF',
    chain: 80001,
    rpc: process.env.POLYGON_TESTNET_RPC_URL || 'https://rpc-mumbai.maticvigil.com',
    holographId: 4000000004,
    tokenName: 'Polygon Mumbai',
    tokenSymbol: 'MATIC',
    explorer: 'https://mumbai.polygonscan.com',
    lzEndpoint: '0xf69186dfBa60DdB133E91E9A4B5673624293d8F8'.toLowerCase(),
    lzExecutor: '0x264473487c23cC846118840472D35AeBf54e4475'.toLowerCase(),
    lzId: 10109,
    ccipEndpoint: '0x70499c328e1E2a3c41108bd3730F6670a44595D1'.toLowerCase(),
    ccipId: '12532609583862916517',
    active: true,
    protocolMultisig: undefined,
  },
  avalancheTestnet: {
    name: 'Avalanche Fuji',
    type: NetworkType.testnet,
    key: 'avalancheTestnet',
    shortKey: 'fuji',
    color: '#FF0000',
    chain: 43113,
    rpc: process.env.AVALANCHE_TESTNET_RPC_URL || 'https://api.avax-test.network/ext/bc/C/rpc',
    holographId: 4000000003,
    tokenName: 'Avalanche Fuji',
    tokenSymbol: 'AVAX',
    explorer: 'https://testnet.snowtrace.io',
    lzEndpoint: '0x93f54D755A063cE7bB9e6Ac47Eccc8e33411d706'.toLowerCase(),
    lzExecutor: '0xa7BFA9D51032F82D649A501B6a1f922FC2f7d4e3'.toLowerCase(),
    lzId: 40106,
    ccipEndpoint: '0x554472a2720E5E7D5D3C817529aBA05EEd5F82D8'.toLowerCase(),
    ccipId: '14767482510784806043',
    active: true,
    protocolMultisig: undefined,
  },
  binanceSmartChainTestnet: {
    name: 'BNB Testnet',
    type: NetworkType.testnet,
    key: 'binanceSmartChainTestnet',
    shortKey: 'bnbTestnet',
    color: '#f0b90b',
    chain: 97,
    rpc: process.env.BINANCE_SMART_CHAIN_TESTNET_RPC_URL || 'https://data-seed-prebsc-1-s1.binance.org:8545',
    holographId: 4000000002,
    tokenName: 'BNB Testnet',
    tokenSymbol: 'BNB',
    explorer: 'https://testnet.bscscan.com',
    lzEndpoint: '0x6Fcb97553D41516Cb228ac03FdC8B9a0a9df04A1'.toLowerCase(),
    lzExecutor: '0x31894b190a8bAbd9A067Ce59fde0BfCFD2B18470'.toLowerCase(),
    lzId: 40102,
    ccipEndpoint: '0x9527e2d01a3064ef6b50c1da1c0cc523803bcff2'.toLowerCase(),
    ccipId: '13264668187771770619',
    active: true,
    protocolMultisig: undefined,
  },
  ethereumTestnetRinkeby: {
    name: '',
    type: NetworkType.testnet,
    key: 'ethereumTestnetRinkeby',
    shortKey: 'rinkeby',
    color: '#FFFFFF',
    chain: 4,
    rpc:
      process.env.ETHEREUM_TESTNET_RINKEBY_RPC_URL || 'https://rinkeby.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161',
    holographId: 4000000001,
    tokenName: 'Ethereum Rinkeby',
    tokenSymbol: 'ETH',
    explorer: 'https://rinkeby.etherscan.io',
    lzEndpoint: '0x79a63d6d8BBD5c6dfc774dA79bCcD948EAcb53FA'.toLowerCase(),
    lzExecutor: undefined,
    lzId: 10101,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
    deprecated: true,
  },
  // LIVE NETWORKS
  ethereum: {
    name: 'Ethereum',
    type: NetworkType.mainnet,
    key: 'ethereum',
    shortKey: 'eth',
    color: '#83EEFF',
    chain: 1,
    rpc: process.env.ETHEREUM_RPC_URL || 'https://mainnet.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161',
    holographId: 1,
    tokenName: 'Ethereum',
    tokenSymbol: 'ETH',
    explorer: 'https://etherscan.io',
    lzEndpoint: '0x66A71Dcef29A0fFBDBE3c6a460a3B5BC225Cd675'.toLowerCase(),
    lzExecutor: '0x173272739Bd7Aa6e4e214714048a9fE699453059'.toLowerCase(),
    lzId: 101,
    ccipEndpoint: '0xE561d5E02207fb5eB32cca20a699E0d8919a1476'.toLowerCase(),
    ccipId: '5009297550715157269',
    active: true,
    protocolMultisig: '0x67EBef315c8aA6be5a0840D0FD0BAEC25E6f92aa'.toLowerCase(),
  },
  binanceSmartChain: {
    name: 'BNB',
    type: NetworkType.mainnet,
    key: 'binanceSmartChain',
    shortKey: 'bnb',
    color: '#f0b90b',
    chain: 56,
    rpc: process.env.BINANCE_SMART_CHAIN_RPC_URL || 'https://bsc-dataseed1.binance.org',
    holographId: 2,
    tokenName: 'BNB',
    tokenSymbol: 'BNB',
    explorer: 'https://bscscan.com',
    lzEndpoint: '0x3c2269811836af69497E5F486A85D7316753cf62'.toLowerCase(),
    lzExecutor: '0x3ebD570ed38B1b3b4BC886999fcF507e9D584859'.toLowerCase(),
    lzId: 102,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: true,
    protocolMultisig: '0x0127164f81fc6Aa5391fC78FC4Dca904fb369980'.toLowerCase(),
  },
  avalanche: {
    name: 'Avalanche',
    type: NetworkType.mainnet,
    key: 'avalanche',
    shortKey: 'avax',
    color: '#FF0000',
    chain: 43114,
    rpc: process.env.AVALANCHE_RPC_URL || 'https://api.avax.network/ext/bc/C/rpc',
    holographId: 3,
    tokenName: 'Avalanche',
    tokenSymbol: 'AVAX',
    explorer: 'https://snowtrace.io',
    lzEndpoint: '0x3c2269811836af69497E5F486A85D7316753cf62'.toLowerCase(),
    lzExecutor: '0x90E595783E43eb89fF07f63d27B8430e6B44bD9c'.toLowerCase(),
    lzId: 106,
    ccipEndpoint: '0x27F39D0af3303703750D4001fCc1844c6491563c'.toLowerCase(),
    ccipId: '64335005675654153810',
    active: true,
    protocolMultisig: '0x4CeDF51096E4cfA89E7a611DD156Ec98D0fE5AAF'.toLowerCase(),
  },
  polygon: {
    name: 'Polygon',
    type: NetworkType.mainnet,
    key: 'polygon',
    shortKey: 'matic',
    color: '#B026FF',
    chain: 137,
    rpc: process.env.POLYGON_RPC_URL || 'https://rpc-mainnet.matic.network',
    holographId: 4,
    tokenName: 'Polygon',
    tokenSymbol: 'MATIC',
    explorer: 'https://polygonscan.com',
    lzEndpoint: '0x3c2269811836af69497E5F486A85D7316753cf62'.toLowerCase(),
    lzExecutor: '0xCd3F213AD101472e1713C72B1697E727C803885b'.toLowerCase(),
    lzId: 109,
    ccipEndpoint: '0x3C3D92629A02a8D95D5CB9650fe49C3544f69B43'.toLowerCase(),
    ccipId: '4051577828743386545',
    active: true,
    protocolMultisig: '0x2907460B5E65ecaA733Af19b3A037aB177540456'.toLowerCase(),
  },
  fantom: {
    name: 'Fantom',
    type: NetworkType.mainnet,
    key: 'fantom',
    shortKey: 'ftm',
    color: '#FFFFFF',
    chain: 250,
    rpc: process.env.FANTOM_RPC_URL || 'https://rpc.fantom.network',
    holographId: 5,
    tokenName: 'Fantom',
    tokenSymbol: 'FTM',
    explorer: 'https://ftmscan.com',
    lzEndpoint: '0xb6319cC6c8c27A8F5dAF0dD3DF91EA35C4720dd7'.toLowerCase(),
    lzExecutor: undefined,
    lzId: 112,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  arbitrumOne: {
    name: 'Arbitrum One',
    type: NetworkType.mainnet,
    key: 'arbitrumOne',
    shortKey: 'arbitrum',
    color: '#28a0f0',
    chain: 42161,
    rpc: process.env.ARBITRUM_ONE_RPC_URL || 'https://arb1.arbitrum.io/rpc',
    holographId: 6,
    tokenName: 'Arbitrum One',
    tokenSymbol: 'ETH',
    explorer: 'https://arbiscan.io',
    lzEndpoint: '0x3c2269811836af69497E5F486A85D7316753cf62'.toLowerCase(),
    lzExecutor: '0x31CAe3B7fB82d847621859fb1585353c5720660D'.toLowerCase(),
    lzId: 110,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: true,
    protocolMultisig: '0xC903A55a4C276a15E797951436777c57341C82d4'.toLowerCase(),
  },
  optimism: {
    name: 'Optimism',
    type: NetworkType.mainnet,
    key: 'optimism',
    shortKey: 'optimism',
    color: '#3498db',
    chain: 10,
    rpc: process.env.OPTIMISM_RPC_URL || 'https://mainnet.optimism.io',
    holographId: 7,
    tokenName: 'Optimism',
    tokenSymbol: 'ETH',
    explorer: 'https://optimistic.etherscan.io',
    lzEndpoint: '0x3c2269811836af69497E5F486A85D7316753cf62'.toLowerCase(),
    lzExecutor: '0x2D2ea0697bdbede3F01553D2Ae4B8d0c486B666e'.toLowerCase(),
    lzId: 111,
    ccipEndpoint: '0x261c05167db67B2b619f9d312e0753f3721ad6E8'.toLowerCase(),
    ccipId: '3734403246176062136',
    active: true,
    protocolMultisig: '0x2872509C9E8452230c47a1b2fc8305f78983bDAb'.toLowerCase(),
  },
  gnosis: {
    name: 'Gnosis Chain',
    type: NetworkType.mainnet,
    key: 'gnosis',
    shortKey: 'gno',
    color: '#FFFFFF',
    chain: 100,
    rpc: process.env.GNOSIS_RPC_URL || 'https://rpc.gnosischain.com',
    holographId: 8,
    tokenName: 'Gnosis Chain',
    tokenSymbol: 'GNO',
    explorer: 'https://gnosisscan.io',
    lzEndpoint: '0x9740FF91F1985D8d2B71494aE1A2f723bb3Ed9E4'.toLowerCase(),
    lzExecutor: undefined,
    lzId: 145,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  cronos: {
    name: 'Cronos',
    type: NetworkType.mainnet,
    key: 'cronos',
    shortKey: 'cronos',
    color: '#FFFFFF',
    chain: 25,
    rpc: process.env.CRONOS_RPC_URL || 'https://evm.cronos.org',
    holographId: 9,
    tokenName: 'Cronos',
    tokenSymbol: 'CRO',
    explorer: 'https://cronoscan.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  aurora: {
    name: 'Aurora ETH',
    type: NetworkType.mainnet,
    key: 'aurora',
    shortKey: 'aurora',
    color: '#FFFFFF',
    chain: 1313161554,
    rpc: process.env.AURORA_RPC_URL || 'https://mainnet.aurora.dev',
    holographId: 10,
    tokenName: 'Aurora ETH',
    tokenSymbol: 'ETH',
    explorer: 'https://aurorascan.dev',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  harmony: {
    name: 'Harmony',
    type: NetworkType.mainnet,
    key: 'harmony',
    shortKey: 'harmony',
    color: '#FFFFFF',
    chain: 1666600000,
    rpc: process.env.HARMONY_RPC_URL || 'https://api.s0.t.hmny.io',
    holographId: 11,
    tokenName: 'Harmony',
    tokenSymbol: 'ONE',
    explorer: 'https://explorer.harmony.one',
    lzEndpoint: '0x9740FF91F1985D8d2B71494aE1A2f723bb3Ed9E4'.toLowerCase(),
    lzExecutor: undefined,
    lzId: 116,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  moonbeam: {
    name: 'Moonbeam',
    type: NetworkType.mainnet,
    key: 'moonbeam',
    shortKey: 'moonbeam',
    color: '#FFFFFF',
    chain: 1284,
    rpc: process.env.MOONBEAM_RPC_URL || 'https://rpc.api.moonbeam.network',
    holographId: 12,
    tokenName: 'Moonbeam',
    tokenSymbol: 'GLMR',
    explorer: 'https://moonbeam.moonscan.io',
    lzEndpoint: '0x9740FF91F1985D8d2B71494aE1A2f723bb3Ed9E4'.toLowerCase(),
    lzExecutor: undefined,
    lzId: 126,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  celo: {
    name: 'Celo',
    type: NetworkType.mainnet,
    key: 'celo',
    shortKey: 'celo',
    color: '#FFFFFF',
    chain: 42220,
    rpc: process.env.CELO_RPC_URL || 'https://forno.celo.org',
    holographId: 13,
    tokenName: 'Celo',
    tokenSymbol: 'CELO',
    explorer: 'https://explorer.celo.org/mainnet',
    lzEndpoint: '0x3A73033C0b1407574C76BdBAc67f126f6b4a9AA9'.toLowerCase(),
    lzExecutor: undefined,
    lzId: 125,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  swimmer: {
    name: 'Swimmer Subnet',
    type: NetworkType.mainnet,
    key: 'swimmer',
    shortKey: 'swimmer',
    color: '#FFFFFF',
    chain: 73772,
    rpc: process.env.SWIMMER_RPC_URL || 'https://subnets.avax.network/swimmer/mainnet/rpc',
    holographId: 14,
    tokenName: 'Swimmer Subnet',
    tokenSymbol: 'TUS',
    explorer: 'https://subnets.avax.network/swimmer',
    lzEndpoint: '0x9740FF91F1985D8d2B71494aE1A2f723bb3Ed9E4'.toLowerCase(),
    lzExecutor: undefined,
    lzId: 114,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  dfk: {
    name: 'DFK Chain',
    type: NetworkType.mainnet,
    key: 'dfk',
    shortKey: 'dfk',
    color: '#FFFFFF',
    chain: 53935,
    rpc: process.env.DFK_RPC_URL || 'https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc',
    holographId: 15,
    tokenName: 'DFK Chain',
    tokenSymbol: 'JEWEL',
    explorer: 'https://subnets.avax.network/defi-kingdoms',
    lzEndpoint: '0x9740FF91F1985D8d2B71494aE1A2f723bb3Ed9E4'.toLowerCase(),
    lzExecutor: undefined,
    lzId: 115,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  moonriver: {
    name: 'Moonriver',
    type: NetworkType.mainnet,
    key: 'moonriver',
    shortKey: 'moonriver',
    color: '#FFFFFF',
    chain: 1285,
    rpc: process.env.MOONRIVER_RPC_URL || 'https://rpc.api.moonriver.moonbeam.network',
    holographId: 16,
    tokenName: 'Moonriver',
    tokenSymbol: 'MOVR',
    explorer: 'https://moonriver.moonscan.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  bobaEthereum: {
    name: 'BOBA Network Ethereum L2',
    type: NetworkType.mainnet,
    key: 'bobaEthereum',
    shortKey: 'boba',
    color: '#FFFFFF',
    chain: 288,
    rpc: process.env.BOBA_ETHEREUM_RPC_URL || 'https://mainnet.boba.network',
    holographId: 17,
    tokenName: 'BOBA Ethereum',
    tokenSymbol: 'ETH',
    explorer: 'https://bobascan.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  bobaAvalanche: {
    name: 'BOBA Avalanche L2',
    type: NetworkType.mainnet,
    key: 'bobaAvalanche',
    shortKey: 'bobaAvax',
    color: '#FFFFFF',
    chain: 43288,
    rpc: process.env.BOBA_AVALANCHE_RPC_URL || 'https://avax.boba.network',
    holographId: 18,
    tokenName: 'BOBA Avalanche',
    tokenSymbol: 'BOBA',
    explorer: 'https://blockexplorer.avax.boba.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  bobaBinanceChain: {
    name: 'BOBA BNB L2',
    type: NetworkType.mainnet,
    key: 'bobaBinanceChain',
    shortKey: 'bobaBnb',
    color: '#FFFFFF',
    chain: 97288,
    rpc: process.env.BOBA_BINANCE_CHAIN_RPC_URL || 'https://bnb.boba.network',
    holographId: 19,
    tokenName: 'BOBA BNB',
    tokenSymbol: 'BOBA',
    explorer: 'https://blockexplorer.bnb.boba.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  bobaFantom: {
    name: 'BOBA Fantom L2',
    type: NetworkType.mainnet,
    key: 'bobaFantom',
    shortKey: 'bobaFantom',
    color: '#FFFFFF',
    chain: 301,
    rpc: process.env.BOBA_FANTOM_RPC_URL || 'https://bobaopera.boba.network',
    holographId: 20,
    tokenName: 'BOBA Fantom',
    tokenSymbol: 'BOBA',
    explorer: 'https://blockexplorer.bobaopera.boba.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  bobaMoonbeam: {
    name: 'BOBA Moonbeam L2',
    type: NetworkType.mainnet,
    key: 'bobaMoonbeam',
    shortKey: 'bobaMoonbeam',
    color: '#FFFFFF',
    chain: 1294,
    rpc: process.env.BOBA_MOONBEAM_RPC_URL || 'https://bobabeam.boba.network',
    holographId: 21,
    tokenName: 'BOBA Moonbeam',
    tokenSymbol: 'BOBA',
    explorer: 'https://blockexplorer.bobabeam.boba.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  canto: {
    name: 'Canto',
    type: NetworkType.mainnet,
    key: 'canto',
    shortKey: 'canto',
    color: '#FFFFFF',
    chain: 7700,
    rpc: process.env.CANTO_RPC_URL || 'https://canto.slingshot.finance',
    holographId: 22,
    tokenName: 'Canto',
    tokenSymbol: 'CANTO',
    explorer: 'https://evm.explorer.canto.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  dogechain: {
    name: 'Dogechain',
    type: NetworkType.mainnet,
    key: 'dogechain',
    shortKey: 'dogechain',
    color: '#FFFFFF',
    chain: 2000,
    rpc: process.env.DOGECHAIN_RPC_URL || 'https://rpc.dogechain.dog',
    holographId: 23,
    tokenName: 'Dogechain',
    tokenSymbol: 'DOGE',
    explorer: 'https://explorer.dogechain.dog',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  evmos: {
    name: 'Evmos',
    type: NetworkType.mainnet,
    key: 'evmos',
    shortKey: 'evmos',
    color: '#FFFFFF',
    chain: 9001,
    rpc: process.env.EVMOS_RPC_URL || 'https://eth.bd.evmos.org:8545',
    holographId: 24,
    tokenName: 'Evmos',
    tokenSymbol: 'EVMOS',
    explorer: 'https://evm.evmos.org',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  iotex: {
    name: 'IoTeX Network',
    type: NetworkType.mainnet,
    key: 'iotex',
    shortKey: 'iotex',
    color: '#FFFFFF',
    chain: 4689,
    rpc: process.env.IOTEX_RPC_URL || 'https://babel-api.mainnet.iotex.io',
    holographId: 25,
    tokenName: 'IoTeX Network',
    tokenSymbol: 'IOTX',
    explorer: 'https://iotexscan.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  klaytnCypress: {
    name: 'Klaytn Cypress',
    type: NetworkType.mainnet,
    key: 'klaytnCypress',
    shortKey: 'klaytn',
    color: '#FFFFFF',
    chain: 8217,
    rpc: process.env.KLAYTN_CYPRESS_RPC_URL || 'https://public-node-api.klaytnapi.com/v1/cypress',
    holographId: 26,
    tokenName: 'Klaytn Cypress',
    tokenSymbol: 'KLAY',
    explorer: 'https://scope.klaytn.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  metisAndromeda: {
    name: 'Metis Andromeda',
    type: NetworkType.mainnet,
    key: 'metisAndromeda',
    shortKey: 'metis',
    color: '#FFFFFF',
    chain: 1088,
    rpc: process.env.METIS_ANDROMEDA_RPC_URL || 'https://andromeda.metis.io/?owner=1088',
    holographId: 27,
    tokenName: 'Metis Goerli',
    tokenSymbol: 'METIS',
    explorer: 'https://andromeda-explorer.metis.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  okx: {
    name: 'OKXChain',
    type: NetworkType.mainnet,
    key: 'okx',
    shortKey: 'okx',
    color: '#FFFFFF',
    chain: 66,
    rpc: process.env.OKX_RPC_URL || 'https://exchainrpc.okex.org',
    holographId: 28,
    tokenName: 'OKXChain',
    tokenSymbol: 'OKT',
    explorer: 'https://www.oklink.com/en/okc',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  palmNft: {
    name: 'Palm NFT',
    type: NetworkType.mainnet,
    key: 'palmNft',
    shortKey: 'palm',
    color: '#FFFFFF',
    chain: 11297108109,
    rpc: process.env.PALM_NFT_RPC_URL || 'https://palm-mainnet.public.blastapi.io',
    holographId: 29,
    tokenName: 'Palm NFT',
    tokenSymbol: 'PALM',
    explorer: 'https://explorer.palm.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  telosEvm: {
    name: 'Telos EVM',
    type: NetworkType.mainnet,
    key: 'telosEvm',
    shortKey: 'telos',
    color: '#FFFFFF',
    chain: 40,
    rpc: process.env.TELOS_EVM_RPC_URL || 'https://telos.net/evm',
    holographId: 30,
    tokenName: 'Telos EVM',
    tokenSymbol: 'TLOS',
    explorer: 'https://teloscan.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  tomoChain: {
    name: 'TomoChain',
    type: NetworkType.mainnet,
    key: 'tomoChain',
    shortKey: 'tomo',
    color: '#FFFFFF',
    chain: 88,
    rpc: process.env.TOMO_CHAIN_RPC_URL || 'https://rpc.tomochain.com',
    holographId: 31,
    tokenName: 'TomoChain',
    tokenSymbol: 'TOMO',
    explorer: 'https://scan.tomochain.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  velasEvm: {
    name: 'Velas EVM',
    type: NetworkType.mainnet,
    key: 'velasEvm',
    shortKey: 'velas',
    color: '#FFFFFF',
    chain: 106,
    rpc: process.env.VELAS_EVM_RPC_URL || 'https://evmexplorer.velas.com/rpc',
    holographId: 32,
    tokenName: 'Velas EVM',
    tokenSymbol: 'VLX',
    explorer: 'https://evmexplorer.velas.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  ubiq: {
    name: 'Ubiq Network',
    type: NetworkType.mainnet,
    key: 'ubiq',
    shortKey: 'ubiq',
    color: '#FFFFFF',
    chain: 8,
    rpc: process.env._RPC_URL || 'https://pyrus2.ubiqscan.io',
    holographId: 33,
    tokenName: 'Ubiq Ether',
    tokenSymbol: 'UBQ',
    explorer: 'https://ubiqscan.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  kavaEvm: {
    name: 'Kava EVM',
    type: NetworkType.mainnet,
    key: 'kavaEvm',
    shortKey: 'kava',
    color: '#FFFFFF',
    chain: 2222,
    rpc: process.env.KAVA_RPC_URL || 'https://evm.kava.io',
    holographId: 34,
    tokenName: 'Kava EVM',
    tokenSymbol: 'KAVA',
    explorer: 'https://explorer.kava.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  fusion: {
    name: 'Fusion (AnySwap)',
    type: NetworkType.mainnet,
    key: 'fusion',
    shortKey: 'fusion',
    color: '#FFFFFF',
    chain: 32659,
    rpc: process.env.FUSION_RPC_URL || 'https://mainnet.anyswap.exchange',
    holographId: 35,
    tokenName: 'Fusion',
    tokenSymbol: 'FSN',
    explorer: 'https://fsnscan.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  hecoChain: {
    name: 'HECO Chain',
    type: NetworkType.mainnet,
    key: 'hecoChain',
    shortKey: 'heco',
    color: '#FFFFFF',
    chain: 128,
    rpc: process.env.HECO_CHAIN_RPC_URL || 'https://http-mainnet.hecochain.com',
    holographId: 36,
    tokenName: 'HECO Chain',
    tokenSymbol: 'HT',
    explorer: 'https://www.hecoinfo.com/en-us',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  kcc: {
    name: 'KCC (KuCoin)',
    type: NetworkType.mainnet,
    key: 'kcc',
    shortKey: 'kcc',
    color: '#FFFFFF',
    chain: 321,
    rpc: process.env.KCC_RPC_URL || 'https://rpc-mainnet.kcc.network',
    holographId: 37,
    tokenName: 'KCC',
    tokenSymbol: 'KCS',
    explorer: 'https://explorer.kcc.io/en',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  publicMint: {
    name: 'Public Mint',
    type: NetworkType.mainnet,
    key: 'publicMint',
    shortKey: 'publicMint',
    color: '#FFFFFF',
    chain: 2020,
    rpc: process.env.PUBLIC_MINT_RPC_URL || 'https://rpc.publicmint.io:8545',
    holographId: 38,
    tokenName: 'Public Mint',
    tokenSymbol: 'USD',
    explorer: 'https://explorer.publicmint.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  astar: {
    name: 'Astar',
    type: NetworkType.mainnet,
    key: 'astar',
    shortKey: 'astar',
    color: '#FFFFFF',
    chain: 592,
    rpc: process.env.ASTAR_RPC_URL || 'https://evm.astar.network',
    holographId: 39,
    tokenName: 'Astar',
    tokenSymbol: 'ASTR',
    explorer: 'https://blockscout.com/astar',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  shiden: {
    name: 'Shiden',
    type: NetworkType.mainnet,
    key: 'shiden',
    shortKey: 'shiden',
    color: '#FFFFFF',
    chain: 336,
    rpc: process.env.SHIDEN_RPC_URL || 'https://shiden.public.blastapi.io',
    holographId: 40,
    tokenName: 'Shiden',
    tokenSymbol: 'SDN',
    explorer: 'https://blockscout.com/shiden',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  rsk: {
    name: 'RSK',
    type: NetworkType.mainnet,
    key: 'rsk',
    shortKey: 'rsk',
    color: '#FFFFFF',
    chain: 30,
    rpc: process.env.RSK_RPC_URL || 'https://public-node.rsk.co',
    holographId: 41,
    tokenName: 'RSK',
    tokenSymbol: 'RBTC',
    explorer: 'https://explorer.rsk.co',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  oasisEmerald: {
    name: 'Emerald ParaTime (Oasis Network)',
    type: NetworkType.mainnet,
    key: 'oasisEmerald',
    shortKey: 'emerald',
    color: '#FFFFFF',
    chain: 42262,
    rpc: process.env.OASIS_EMERALD_RPC_URL || 'https://emerald.oasis.dev',
    holographId: 42,
    tokenName: 'Emerald ParaTime (Oasis Network)',
    tokenSymbol: 'ROSE',
    explorer: 'https://explorer.emerald.oasis.dev',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  flare: {
    name: 'Flare',
    type: NetworkType.mainnet,
    key: 'flare',
    shortKey: 'flare',
    color: '#FFFFFF',
    chain: 14,
    rpc: process.env.FLARE_RPC_URL || 'https://flare-api.flare.network/ext/C/rpc',
    holographId: 43,
    tokenName: 'Flare',
    tokenSymbol: 'FLR',
    explorer: 'https://flare-explorer.flare.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  songbird: {
    name: 'Songbird',
    type: NetworkType.mainnet,
    key: 'songbird',
    shortKey: 'songbird',
    color: '#FFFFFF',
    chain: 19,
    rpc: process.env.SONGBIRD_RPC_URL || 'https://songbird-api.flare.network/ext/C/rpc',
    holographId: 44,
    tokenName: 'Songbird',
    tokenSymbol: 'SGB',
    explorer: 'https://songbird-explorer.flare.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  theta: {
    name: 'Theta',
    type: NetworkType.mainnet,
    key: 'theta',
    shortKey: 'theta',
    color: '#FFFFFF',
    chain: 361,
    rpc: process.env.THETA_RPC_URL || 'https://eth-rpc-api.thetatoken.org/rpc',
    holographId: 45,
    tokenName: 'Theta',
    tokenSymbol: 'TFUEL',
    explorer: 'https://explorer.thetatoken.org',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  wanchain: {
    name: 'Wanchain',
    type: NetworkType.mainnet,
    key: 'wanchain',
    shortKey: 'wanchain',
    color: '#FFFFFF',
    chain: 46,
    rpc: process.env.WANCHAIN_RPC_URL || 'https://gwan-ssl.wandevs.org:56891',
    holographId: 46,
    tokenName: 'Wanchain',
    tokenSymbol: 'WAN',
    explorer: 'https://wanscan.org',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  vision: {
    name: 'Vision',
    type: NetworkType.mainnet,
    key: 'vision',
    shortKey: 'vision',
    color: '#FFFFFF',
    chain: 888888,
    rpc: process.env.VISION_RPC_URL || ' https://infragrid.v.network/ethereum/compatible',
    holographId: 47,
    tokenName: 'Vision',
    tokenSymbol: 'VS',
    explorer: 'https://www.visionscan.org',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  ultron: {
    name: 'Ultron',
    type: NetworkType.mainnet,
    key: 'ultron',
    shortKey: 'ultron',
    color: '#FFFFFF',
    chain: 1231,
    rpc: process.env.ULTRON_RPC_URL || 'https://ultron-rpc.net',
    holographId: 48,
    tokenName: 'Ultron',
    tokenSymbol: 'ULX',
    explorer: 'https://ulxscan.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  step: {
    name: 'Step Network',
    type: NetworkType.mainnet,
    key: 'step',
    shortKey: 'step',
    color: '#FFFFFF',
    chain: 1234,
    rpc: process.env.STEP_RPC_URL || 'https://rpc.step.network',
    holographId: 49,
    tokenName: 'Step Network',
    tokenSymbol: 'FITFI',
    explorer: 'https://stepscan.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  smartBitcoinCash: {
    name: 'Smart Bitcoin Cash',
    type: NetworkType.mainnet,
    key: 'smartBitcoinCash',
    shortKey: 'smartBitcoinCash',
    color: '#FFFFFF',
    chain: 10000,
    rpc: process.env.SMART_BITCOIN_CASH_RPC_URL || 'SMART_BITCOIN_CASH_TESTNET_RPC_URL',
    holographId: 50,
    tokenName: 'Smart Bitcoin Cash',
    tokenSymbol: 'BCH',
    explorer: '',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  thunderCore: {
    name: 'ThunderCore',
    type: NetworkType.mainnet,
    key: 'thunderCore',
    shortKey: 'thunderCore',
    color: '#FFFFFF',
    chain: 108,
    rpc: process.env.THUNDER_CORE_RPC_URL || 'https://mainnet-rpc.thundercore.com',
    holographId: 51,
    tokenName: 'ThunderCore',
    tokenSymbol: 'TT',
    explorer: 'https://viewblock.io/thundercore',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  bitgert: {
    name: 'Bitgert',
    type: NetworkType.mainnet,
    key: 'bitgert',
    shortKey: 'bitgert',
    color: '#FFFFFF',
    chain: 32520,
    rpc: process.env.BITGERT_RPC_URL || 'https://mainnet-rpc.brisescan.com',
    holographId: 52,
    tokenName: 'Bitgert',
    tokenSymbol: 'BRISE',
    explorer: 'https://brisescan.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  coinExSmartChain: {
    name: 'CoinEx Smart Chain',
    type: NetworkType.mainnet,
    key: 'coinExSmartChain',
    shortKey: 'coinEx',
    color: '#FFFFFF',
    chain: 52,
    rpc: process.env.COIN_EX_SMART_CHAIN_RPC_URL || 'https://rpc.coinex.net',
    holographId: 53,
    tokenName: 'CoinEx Smart Chain',
    tokenSymbol: 'CET',
    explorer: 'https://www.coinex.net',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  meter: {
    name: 'Meter',
    type: NetworkType.mainnet,
    key: 'meter',
    shortKey: 'meter',
    color: '#FFFFFF',
    chain: 82,
    rpc: process.env.METER_RPC_URL || 'https://rpc.meter.io',
    holographId: 54,
    tokenName: 'Meter',
    tokenSymbol: 'MTR',
    explorer: 'https://scan.meter.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  polisOlympus: {
    name: 'Polis Olympus',
    type: NetworkType.mainnet,
    key: 'polisOlympus',
    shortKey: 'polis',
    color: '#FFFFFF',
    chain: 333999,
    rpc: process.env.POLIS_OLYMPUS_RPC_URL || 'https://rpc.polis.tech',
    holographId: 55,
    tokenName: 'Polis Olympus',
    tokenSymbol: 'POLIS',
    explorer: 'https://explorer.polis.tech',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  fuse: {
    name: 'Fuse',
    type: NetworkType.mainnet,
    key: 'fuse',
    shortKey: 'fuse',
    color: '#FFFFFF',
    chain: 122,
    rpc: process.env.FUSE_RPC_URL || 'https://rpc.fuse.io',
    holographId: 56,
    tokenName: 'Fuse',
    tokenSymbol: 'FUSE',
    explorer: 'https://explorer.fuse.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  xdc: {
    name: 'XDC (XinFin)',
    type: NetworkType.mainnet,
    key: 'xdc',
    shortKey: 'xdc',
    color: '#FFFFFF',
    chain: 50,
    rpc: process.env.XDC_RPC_URL || 'https://rpc.xinfin.network',
    holographId: 57,
    tokenName: 'XDC (XinFin)',
    tokenSymbol: 'XDC',
    explorer: 'https://explorer.xinfin.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  elastosSmartChain: {
    name: 'Elastos Smart Chain',
    type: NetworkType.mainnet,
    key: 'elastosSmartChain',
    shortKey: 'elastos',
    color: '#FFFFFF',
    chain: 20,
    rpc: process.env.ELASTOS_SMART_CHAIN_RPC_URL || 'https://api.elastos.io/eth',
    holographId: 58,
    tokenName: 'Elastos Smart Chain',
    tokenSymbol: 'ELA',
    explorer: 'https://esc.elastos.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  syscoin: {
    name: 'Syscoin',
    type: NetworkType.mainnet,
    key: 'syscoin',
    shortKey: 'syscoin',
    color: '#FFFFFF',
    chain: 57,
    rpc: process.env.SYSCOIN_RPC_URL || 'https://rpc.syscoin.org',
    holographId: 59,
    tokenName: 'Syscoin',
    tokenSymbol: 'SYS',
    explorer: 'https://explorer.syscoin.org',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  godwoken: {
    name: 'Godwoken',
    type: NetworkType.mainnet,
    key: 'godwoken',
    shortKey: 'godwoken',
    color: '#FFFFFF',
    chain: 71402,
    rpc: process.env.GODWOKEN_RPC_URL || 'https://v1.mainnet.godwoken.io/rpc',
    holographId: 60,
    tokenName: 'Godwoken',
    tokenSymbol: 'pCKB',
    explorer: 'https://v1.gwscan.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  callisto: {
    name: 'Callisto',
    type: NetworkType.mainnet,
    key: 'callisto',
    shortKey: 'callisto',
    color: '#FFFFFF',
    chain: 820,
    rpc: process.env.CALLISTO_RPC_URL || 'https://rpc.callisto.network',
    holographId: 61,
    tokenName: 'Callisto',
    tokenSymbol: 'CLO',
    explorer: 'https://explorer.callisto.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  nahmii: {
    name: 'Nahmii',
    type: NetworkType.mainnet,
    key: 'nahmii',
    shortKey: 'nahmii',
    color: '#FFFFFF',
    chain: 5551,
    rpc: process.env.NAHMII_RPC_URL || 'https://l2.nahmii.io',
    holographId: 62,
    tokenName: 'Nahmii',
    tokenSymbol: 'ETH',
    explorer: 'https://explorer.nahmii.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  energyWebChain: {
    name: 'Energy Web Chain',
    type: NetworkType.mainnet,
    key: 'energyWebChain',
    shortKey: 'energyWeb',
    color: '#FFFFFF',
    chain: 246,
    rpc: process.env.ENERGY_WEB_CHAIN_RPC_URL || 'https://rpc.energyweb.org',
    holographId: 63,
    tokenName: 'Energy Web Chain',
    tokenSymbol: 'EWT',
    explorer: 'http://explorer.energyweb.org',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  nova: {
    name: 'Nova',
    type: NetworkType.mainnet,
    key: 'nova',
    shortKey: 'nova',
    color: '#FFFFFF',
    chain: 87,
    rpc: process.env.NOVA_RPC_URL || 'https://connect.novanetwork.io',
    holographId: 64,
    tokenName: 'Supernova',
    tokenSymbol: 'SNT',
    explorer: 'https://explorer.novanetwork.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  hooSmartChain: {
    name: 'Hoo Smart Chain',
    type: NetworkType.mainnet,
    key: 'hooSmartChain',
    shortKey: 'hooSmartChain',
    color: '#FFFFFF',
    chain: 70,
    rpc: process.env.HOO_SMART_CHAIN_RPC_URL || 'https://http-mainnet.hoosmartchain.com',
    holographId: 65,
    tokenName: 'Hoo Smart Chain',
    tokenSymbol: 'HOO',
    explorer: 'https://www.hooscan.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  reiChain: {
    name: 'REI Chain',
    type: NetworkType.mainnet,
    key: 'reiChain',
    shortKey: 'reiChain',
    color: '#FFFFFF',
    chain: 55555,
    rpc: process.env.REI_CHAIN_RPC_URL || 'https://rei-rpc.moonrhythm.io',
    holographId: 66,
    tokenName: 'REI Chain',
    tokenSymbol: 'REI',
    explorer: 'https://reiscan.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  reiNetwork: {
    name: 'REI Network',
    type: NetworkType.mainnet,
    key: 'reiNetwork',
    shortKey: 'reiNetwork',
    color: '#FFFFFF',
    chain: 47805,
    rpc: process.env.REI_NETWORK_RPC_URL || 'https://rpc.rei.network',
    holographId: 67,
    tokenName: 'REI Network',
    tokenSymbol: 'REI',
    explorer: 'https://scan.rei.network',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  goChain: {
    name: 'GoChain',
    type: NetworkType.mainnet,
    key: 'goChain',
    shortKey: 'goChain',
    color: '#FFFFFF',
    chain: 60,
    rpc: process.env.GO_CHAIN_RPC_URL || 'https://rpc.gochain.io',
    holographId: 68,
    tokenName: 'GoChain',
    tokenSymbol: 'GO',
    explorer: 'https://explorer.gochain.io',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  kekChain: {
    name: 'KekChain',
    type: NetworkType.mainnet,
    key: 'kekChain',
    shortKey: 'kekChain',
    color: '#FFFFFF',
    chain: 420420,
    rpc: process.env.KEK_CHAIN_RPC_URL || 'https://mainnet.kekchain.com',
    holographId: 69,
    tokenName: 'KekChain',
    tokenSymbol: 'KEK',
    explorer: 'https://mainnet-explorer.kekchain.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  highPerformanceBlockchain: {
    name: 'High Performance Blockchain',
    type: NetworkType.mainnet,
    key: 'highPerformanceBlockchain',
    shortKey: 'hpb',
    color: '#FFFFFF',
    chain: 269,
    rpc: process.env.HIGH_PERFORMANCE_BLOCKCHAIN_RPC_URL || 'https://hpbnode.com',
    holographId: 70,
    tokenName: 'High Performance Blockchain',
    tokenSymbol: 'HPB',
    explorer: 'https://hscan.org',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  zyxNetwork: {
    name: 'ZYX Network',
    type: NetworkType.mainnet,
    key: 'zyxNetwork',
    shortKey: 'zyx',
    color: '#FFFFFF',
    chain: 55,
    rpc: process.env.ZYX_NETWORK_RPC_URL || 'https://rpc-1.zyx.network',
    holographId: 71,
    tokenName: 'ZYX Network',
    tokenSymbol: 'ZYX',
    explorer: 'https://zyxscan.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  tombChain: {
    name: 'Tomb Chain',
    type: NetworkType.mainnet,
    key: 'tombChain',
    shortKey: 'tomb',
    color: '#FFFFFF',
    chain: 6969,
    rpc: process.env.TOMB_CHAIN_RPC_URL || 'https://rpc.tombchain.com',
    holographId: 72,
    tokenName: 'Tomb Chain',
    tokenSymbol: 'TOMB',
    explorer: 'https://tombscout.com',
    lzEndpoint: undefined,
    lzExecutor: undefined,
    lzId: 0,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: false,
    protocolMultisig: undefined,
  },
  arbitrumNova: {
    name: 'Arbitrum Nova',
    type: NetworkType.mainnet,
    key: 'arbitrumNova',
    shortKey: 'arbitrumNova',
    color: '#28a0f0',
    chain: 42170,
    rpc: process.env.ARBITRUM_NOVA_RPC_URL || 'https://nova.arbitrum.io/rpc',
    holographId: 73,
    tokenName: 'Arbitrum Nova',
    tokenSymbol: 'ETH',
    explorer: 'https://nova.arbiscan.io',
    lzEndpoint: '0x4EE2F9B7cf3A68966c370F3eb2C16613d3235245'.toLowerCase(),
    lzExecutor: undefined,
    lzId: 175,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: true,
    protocolMultisig: undefined,
  },
  mantle: {
    name: 'Mantle',
    type: NetworkType.mainnet,
    key: 'mantle',
    shortKey: 'mantle',
    color: '#8b9d8e',
    chain: 5000,
    rpc: process.env.MANTLE_RPC_URL || 'https://rpc.mantle.xyz',
    holographId: 74,
    tokenName: 'Mantle',
    tokenSymbol: 'MNT',
    explorer: 'https://explorer.mantle.xyz',
    lzEndpoint: '0xb6319cC6c8c27A8F5dAF0dD3DF91EA35C4720dd7'.toLowerCase(),
    lzExecutor: '0x4Fc3f4A38Acd6E4cC0ccBc04B3Dd1CCAeFd7F3Cd'.toLowerCase(),
    lzId: 181,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: true,
    protocolMultisig: '0x1e3eB22b68919Bf22C220B1f51B7d00beB6B2771'.toLowerCase(),
  },
  zora: {
    name: 'Zora',
    type: NetworkType.mainnet,
    key: 'zora',
    shortKey: 'zora',
    color: '#FFFFFF',
    chain: 7777777,
    rpc: process.env.ZORA_RPC_URL || 'https://rpc.zora.energy',
    holographId: 75,
    tokenName: 'Zora ETH',
    tokenSymbol: 'ETH',
    explorer: 'https://explorer.zora.energy',
    lzEndpoint: '0xb6319cC6c8c27A8F5dAF0dD3DF91EA35C4720dd7'.toLowerCase(),
    lzExecutor: '0x4f8B7a7a346Da5c467085377796e91220d904c15'.toLowerCase(),
    lzId: 195,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: true,
    protocolMultisig: '0x4CCcd20ABfAfe262849d51E66B03A5227b487194'.toLowerCase(),
  },
  base: {
    name: 'Base',
    type: NetworkType.mainnet,
    key: 'base',
    shortKey: 'base',
    color: '#FFFFFF',
    chain: 8453,
    rpc: process.env.BASE_RPC_URL || 'https://rpc.base.org',
    holographId: 76,
    tokenName: 'Base ETH',
    tokenSymbol: 'ETH',
    explorer: 'https://basescan.org',
    lzEndpoint: '0xb6319cC6c8c27A8F5dAF0dD3DF91EA35C4720dd7'.toLowerCase(),
    lzExecutor: '0x2CCA08ae69E0C44b18a57Ab2A87644234dAebaE4'.toLowerCase(),
    lzId: 184,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: true,
    protocolMultisig: '0x45E6ca6bd2F10c44B00C957A65dAb568EE7d2378'.toLowerCase(),
  },
  linea: {
    name: 'Linea',
    type: NetworkType.mainnet,
    key: 'linea',
    shortKey: 'linea',
    color: '#ADD8E6',
    chain: 59144,
    rpc: process.env.LINEA_RPC_URL || 'https://rpc.linea.build',
    holographId: 77,
    tokenName: 'Linea ETH',
    tokenSymbol: 'ETH',
    explorer: 'https://lineascan.build',
    lzEndpoint: '0x1a44076050125825900e736c501f859c50fe728c'.toLowerCase(),
    lzExecutor: '0x0408804C5dcD9796F22558464E6fE5bDdF16A7c7'.toLowerCase(),
    lzId: 30183,
    ccipEndpoint: undefined,
    ccipId: 0,
    active: true,
    protocolMultisig: '0x2ab56EB105ec668940Df2b08335F923b45bc2574'.toLowerCase(),
  },
};

export const networks: Networks = { ..._networks };
export type NetworkKey = keyof typeof _networks;
type RpcUrlKey = `${Uppercase<string>}_RPC_URL`;

export function generateNetworkKeyByRpcUrl<T extends Record<string, Network>>(networks: T): Record<RpcUrlKey, string> {
  const rpcUrlObject: Record<RpcUrlKey, string> = {} as Record<RpcUrlKey, string>;

  Object.entries(networks).forEach(([networkKey, networkValue]) => {
    if (networkValue.active) {
      const formattedKey: string = networkKey.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase() + '_RPC_URL';
      rpcUrlObject[formattedKey as RpcUrlKey] = networkKey; // Direct assignment with pattern enforcement
    }
  });

  return rpcUrlObject;
}

export const NETWORK_KEY_BY_RPC_URL = generateNetworkKeyByRpcUrl(_networks);
