mirror of
https://github.com/status-im/MyCrypto.git
synced 2025-02-09 17:54:22 +00:00
* Initial work on refactoring node definitions to reduce number of places theyre defined, amount of copy pasting. * Use makeAutoNodeNAme instead of manually appending _auto * Add getNetVersion to list of unsupported methods * PR feedback * Rework web template node selector to be a network selector. Refactor some types to help with that. Better handle removing custom nodes. * Remove color dropdown. * Fix selecting custom networks. Show notification if change network intent fails. * Use selectors for current node / network instead of intuiting from nodeSelection * Add id key to all networks, simplify add and remove custom node and network functions. * Fix a lot of uses of network.name to use network.id instead. * Dont allow network chainid conflicts * Fix web3 network by chainid * Add testnet badge to network selector * Change nomenclature from change(Node|Network)(Intent)? to change(Node|Network)(Requested|Succeeded) * tscheck * Better code for chainid collision * Remove console logs * Fix tests * Network selector becomes self contained component used both by web header and electron nav. * Dont select node again * Additional title text * tscheck * Custom node behavior in Electron * Close panel too * Convert node label data into selector function * tscheck * Parens & space
145 lines
3.0 KiB
TypeScript
145 lines
3.0 KiB
TypeScript
import { RawNodeConfig } from 'types/node';
|
|
import { StaticNetworkIds } from 'types/network';
|
|
|
|
export const makeNodeName = (network: string, name: string) => {
|
|
return `${network.toLowerCase()}_${name}`;
|
|
};
|
|
|
|
export const NODE_CONFIGS: { [key in StaticNetworkIds]: RawNodeConfig[] } = {
|
|
ETH: [
|
|
{
|
|
name: makeNodeName('ETH', 'mycrypto'),
|
|
type: 'rpc',
|
|
service: 'MyCrypto',
|
|
url: 'https://api.mycryptoapi.com/eth',
|
|
estimateGas: true
|
|
},
|
|
{
|
|
name: makeNodeName('ETH', 'ethscan'),
|
|
type: 'etherscan',
|
|
service: 'Etherscan',
|
|
url: 'https://api.etherscan.io/api',
|
|
estimateGas: false
|
|
},
|
|
{
|
|
name: makeNodeName('ETH', 'infura'),
|
|
type: 'infura',
|
|
service: 'Infura',
|
|
url: 'https://mainnet.infura.io/mycrypto',
|
|
estimateGas: false
|
|
},
|
|
{
|
|
name: makeNodeName('ETH', 'blockscale'),
|
|
type: 'rpc',
|
|
service: 'Blockscale',
|
|
url: 'https://api.dev.blockscale.net/dev/parity',
|
|
estimateGas: true
|
|
}
|
|
],
|
|
|
|
Ropsten: [
|
|
{
|
|
name: makeNodeName('Ropsten', 'infura'),
|
|
type: 'infura',
|
|
service: 'Infura',
|
|
url: 'https://ropsten.infura.io/mycrypto',
|
|
estimateGas: false
|
|
}
|
|
],
|
|
|
|
Kovan: [
|
|
{
|
|
name: makeNodeName('Kovan', 'ethscan'),
|
|
type: 'etherscan',
|
|
service: 'Etherscan',
|
|
url: 'https://kovan.etherscan.io/api',
|
|
estimateGas: false
|
|
}
|
|
],
|
|
|
|
Rinkeby: [
|
|
{
|
|
name: makeNodeName('Rinkeby', 'infura'),
|
|
type: 'infura',
|
|
service: 'Infura',
|
|
url: 'https://rinkeby.infura.io/mycrypto',
|
|
estimateGas: false
|
|
},
|
|
{
|
|
name: makeNodeName('Rinkeby', 'ethscan'),
|
|
type: 'etherscan',
|
|
service: 'Etherscan',
|
|
url: 'https://rinkeby.etherscan.io/api',
|
|
estimateGas: false
|
|
}
|
|
],
|
|
|
|
ETC: [
|
|
{
|
|
name: makeNodeName('ETC', 'epool'),
|
|
type: 'rpc',
|
|
service: 'Epool.io',
|
|
url: 'https://mewapi.epool.io',
|
|
estimateGas: false
|
|
},
|
|
{
|
|
name: makeNodeName('ETC', 'commonwealth'),
|
|
type: 'rpc',
|
|
service: 'Ethereum Commonwealth',
|
|
url: 'https://etc-geth.0xinfra.com/',
|
|
estimateGas: false
|
|
}
|
|
],
|
|
|
|
UBQ: [
|
|
{
|
|
name: makeNodeName('UBQ', 'ubiqscan'),
|
|
type: 'rpc',
|
|
service: 'ubiqscan.io',
|
|
url: 'https://pyrus2.ubiqscan.io',
|
|
estimateGas: true
|
|
}
|
|
],
|
|
|
|
EXP: [
|
|
{
|
|
name: makeNodeName('EXP', 'tech'),
|
|
type: 'rpc',
|
|
service: 'expanse.tech',
|
|
url: 'https://node.expanse.tech/',
|
|
estimateGas: true
|
|
}
|
|
],
|
|
POA: [
|
|
{
|
|
name: makeNodeName('POA', 'core'),
|
|
type: 'rpc',
|
|
service: 'poa.network',
|
|
url: 'https://core.poa.network',
|
|
estimateGas: true
|
|
}
|
|
],
|
|
|
|
TOMO: [
|
|
{
|
|
name: makeNodeName('TOMO', 'tomocoin'),
|
|
type: 'rpc',
|
|
service: 'tomocoin.io',
|
|
url: 'https://core.tomocoin.io',
|
|
estimateGas: true
|
|
}
|
|
],
|
|
|
|
ELLA: [
|
|
{
|
|
name: makeNodeName('ELLA', 'ellaism'),
|
|
type: 'rpc',
|
|
service: 'ellaism.org',
|
|
url: 'https://jsonrpc.ellaism.org',
|
|
estimateGas: true
|
|
}
|
|
]
|
|
};
|
|
|
|
export default NODE_CONFIGS;
|