ghost-portal/packages/apps-config/src/ui/logos/index.ts
willeslau dc5295b409
Add Konomi Network chain info to Rococo (#5171)
* add Konomi Network info to Rococo

* updated chain spec

* fix lint issues
2021-04-30 09:39:47 +02:00

421 lines
15 KiB
TypeScript

// Copyright 2017-2021 @polkadot/apps-config authors & contributors
// SPDX-License-Identifier: Apache-2.0
// The mapping here is done on the actual chain name (system.chain RPC) or
// the actual RPC node it is corrected to (system.name RPC)
// anything for a specific chain, most would probably fit into the node category (but allow for chain-specific)
// alphabetical
import chainDusty from './chains/dusty.png';
import chainHydrate from './chains/hydrate.png';
import chainKusama from './chains/kusama-128.gif';
import chainPolkaBTC from './chains/polkabtc.png';
import chainRococo from './chains/rococo.svg';
import chainRococoTick from './chains/rococo-tick.svg';
import chainRococoTrack from './chains/rococo-track.svg';
import chainRococoTrick from './chains/rococo-trick.svg';
import chainSnakenet from './chains/snakenet.svg';
import chainUnique from './chains/unique.svg';
import extensionPolkadotJs from './extensions/polkadot-js.svg';
import externalCommonwealth from './external/commonwealth.png';
import externalDotScanner from './external/dotscanner.png';
import externalPolkascan from './external/polkascan.png';
import externalPolkassembly from './external/polkassembly.png';
import externalPolkastats from './external/polkastats.png';
import externalSubscan from './external/subscan.svg';
import nodeAcala from './nodes/acala-circle.svg';
import nodeApron from './nodes/apron.png';
import nodeAres from './nodes/ares.svg';
import nodeBeast from './nodes/beast.svg';
import nodeBifrost from './nodes/bifrost.svg';
import nodeBitCountry from './nodes/bitcountry.svg';
import nodeCanvas from './nodes/canvas-2.png';
import nodeCentrifuge from './nodes/centrifuge.png';
import nodeChainx from './nodes/chainx.svg';
import nodeClover from './nodes/clover.svg';
import nodeCrab from './nodes/crab.svg';
import nodeCrust from './nodes/crust.svg';
import nodeDarwinia from './nodes/darwinia.png';
import nodeDataHighway from './nodes/datahighway.png';
import nodeDockMainnet from './nodes/dock-mainnet.png';
import nodeDockTestnet from './nodes/dock-testnet.png';
import nodeDotMog from './nodes/dotmog.svg';
import nodeEave from './nodes/eave.svg';
import nodeEdgeware from './nodes/edgeware-circle.svg';
import nodeEncointerNotee from './nodes/encointer-notee.svg';
import nodeEncointerTeeproxy from './nodes/encointer-teeproxy.svg';
import nodeEquilibrium from './nodes/equilibrium.svg';
import nodeGalital from './nodes/galital-logo.png';
import nodeHanonycash from './nodes/hanonycash.svg';
import nodeIdavoll from './nodes/idavoll.png';
import nodeIntegritee from './nodes/integritee.png';
import nodeIpse from './nodes/ipse.png';
import nodeJupiter from './nodes/jupiter.svg';
import nodeKilt from './nodes/kilt.svg';
import nodeKonomi from './nodes/konomi.png';
import nodeKulupu from './nodes/kulupu.svg';
import nodeLaminar from './nodes/laminar-circle.svg';
import nodeLitentry from './nodes/litentry.png';
import nodeManta from './nodes/manta.png';
import nodeMath from './nodes/math.svg';
import moonbeam from './nodes/moonbeam.png';
import mybank from './nodes/mybank.png';
import nodeNFTMart from './nodes/nftmart.png';
import nodeNodle from './nodes/nodle.svg';
import nodeParami from './nodes/parami.png';
import nodePhala from './nodes/phala.svg';
import nodePhoenix from './nodes/phoenix.png';
import nodePlasm from './nodes/plasm.png';
import nodePolkaBTC from './nodes/polkabtc.png';
import nodePolkadex from './nodes/polkadex.svg';
import nodePolkadot from './nodes/polkadot-circle.svg';
import nodePolkadotJs from './nodes/polkadot-js.svg';
import nodePolkaFoundry from './nodes/polkafoundry.svg';
import nodePrism from './nodes/prism.png';
import nodeRealis from './nodes/realis.png';
import nodeRiochain from './nodes/riochain.svg';
import nodeRobonomics from './nodes/robonomics.svg';
import nodeSora from './nodes/sora-substrate.svg';
import nodeStafi from './nodes/stafi.png';
import nodeStatemint from './nodes/statemint-3.png';
import nodeSubDAO from './nodes/subdao.png';
import nodeSubsocial from './nodes/subsocial.svg';
import nodeSubstrate from './nodes/substrate-hexagon.svg';
import nodeSunrock from './nodes/sunrock.png';
import nodeTernoa from './nodes/ternoa.svg';
import nodeTrustBase from './nodes/trustbase.png';
import nodeUniarts from './nodes/uniarts.png';
import nodeUnique from './nodes/unique.svg';
import nodeUnitv from './nodes/unitv.png';
import nodeVln from './nodes/valiu.png';
import nodeWeb3games from './nodes/web3games.svg';
import nodeWestlake from './nodes/westlake.png';
import nodeZeitgeist from './nodes/zeitgeist.png';
import nodeZenlink from './nodes/zenlink.svg';
import nodeZero from './nodes/zero.svg';
// last-resort fallback, just something empty
import emptyLogo from './empty.svg';
// Alphabetical overrides based on the actual matched chain name
// NOTE: This is as retrieved via system.chain RPC
export const chainLogos: Record<string, unknown> = [
['Apron PC1', nodeApron],
['Ares PC1', nodeAres],
['Beast Developer', nodeBeast],
['Crust PC1', nodeCrust],
['ChainX', nodeChainx],
['darwinia crab', nodeCrab],
['Darwinia Crab PC2', nodeCrab],
['Darwinia PC2', nodeDarwinia],
['DataHighway', nodeDataHighway],
['Dusty', chainDusty],
['Steam PC', nodeEave],
['Galital', nodeGalital],
['Galois', nodeMath],
['HydraDX Hydrate', chainHydrate],
['HydraDX Snakenet', chainSnakenet],
['HydraDX Snakenet Gen2', chainSnakenet],
['Encointer PC1', nodeEncointerNotee],
['Idavoll', nodeIdavoll],
['IntegriTEE PC1', nodeIntegritee],
['IpseTestnet', nodeIpse],
['Jupiter A1', nodeJupiter],
['Jupiter PC1', nodeJupiter],
['KILT PC1', nodeKilt],
['Konomi', nodeKonomi],
['Kusama', chainKusama], // new name after CC3
['Kusama CC1', chainKusama],
['Kusama CC2', chainKusama],
['Kusama CC3', chainKusama],
['Litentry', nodeLitentry],
['MathChain PC1', nodeMath],
['Moonbase Alpha', moonbeam],
['Moonbase Stage', moonbeam],
['Moonbase Development Testnet', moonbeam],
['NFTMart Testnet', nodeNFTMart],
['NFTMart Staging', nodeNFTMart],
['Parami PC2', nodeParami],
['PolkaBTC', nodePolkaBTC],
['PolkaBTC Staging', nodePolkaBTC],
['Polkadex Testnet', nodePolkadex],
['PolkaFoundry PC1', nodePolkaFoundry],
['Prism Testnet', nodePrism],
['Prism PC1', nodePrism],
['Phala PC1', nodePhala],
['ReAlis Network', nodeRealis],
['Rococo', chainRococo],
['RioChain CC-1', nodeRiochain],
['RioChain Staging', nodeRiochain],
['Statemint Test', nodeStatemint],
['SubDAO PC1', nodeSubDAO],
['Subsocial', nodeSubsocial],
['Subsocial PC', nodeSubsocial],
['Sunrock', nodeSunrock],
['Tick', chainRococoTick],
['Track', chainRococoTrack],
['Trick', chainRococoTrick],
['TrustBase PC1', nodeTrustBase],
['uni arts staging network', nodeUniarts],
['Unique', chainUnique],
['VLN PC', nodeVln],
['Vln', nodeVln],
['Web3games', nodeWeb3games],
['Westlake', nodeWestlake],
['PHOENIX PC1', nodePhoenix],
['mybank.network PC1', mybank],
['Unit Network', nodeUnitv]
].reduce((logos, [chain, logo]): Record<string, unknown> => ({
...logos,
[(chain as string).toLowerCase()]: logo
}), {});
// Alphabetical overrides based on the actual software node type
// NOTE: This is as retrieved via system.name RPC
export const nodeLogos: Record<string, unknown> = [
['Acala Node', nodeAcala],
['Apron Node', nodeApron],
['Apron Parachain Collator', nodeApron],
['Ares Node', nodeAres],
['Ares Parachain Collator', nodeAres],
['mandala node', nodeAcala],
['airalab-robonomics', nodeRobonomics],
['Beast Node', nodeBeast],
['Bifrost Node', nodeBifrost],
['Bifrost', nodeBifrost],
['BitCountry Node', nodeBitCountry],
['Bit.Country', nodeBitCountry],
['Bit Country Tewai Parachain Collator', nodeBitCountry],
['Canvas Node', nodeCanvas],
['centrifuge chain', nodeCentrifuge],
['Centrifuge Chain Node', nodeCentrifuge],
['ChainX Node', nodeChainx],
['Clover Node', nodeClover],
['darwinia crab', nodeCrab],
['crust', nodeCrust],
['Crust Collator', nodeCrust],
['darwinia', nodeDarwinia],
['darwinia parachain', nodeDarwinia],
['Darwinia Runtime Module Library', nodeDarwinia],
['DataHighway', nodeDataHighway],
['DataHighway Node', nodeDataHighway],
['DataHighway Parachain Collator', nodeDataHighway],
['Dock Full Node', nodeDockMainnet],
['DOTMog Node', nodeDotMog],
['Eave Node', nodeEave],
['Edgeware Node', nodeEdgeware],
['IpseTestnet', nodeIpse],
['Encointer Node', nodeEncointerNotee],
['Encointer Node noTEE', nodeEncointerNotee],
['Encointer Node TEE proxy', nodeEncointerTeeproxy],
['Galital Parachain Collator', nodeGalital],
['Galois', nodeMath],
['hanonycash', nodeHanonycash],
['Idavoll Node', nodeIdavoll],
['KILT Node', nodeKilt],
['KILT Collator', nodeKilt],
['kulupu', nodeKulupu],
['Laminar Node', nodeLaminar],
['Litentry', nodeLitentry],
['Litentry Collator', nodeLitentry],
['Manta Node', nodeManta],
['Manta Parachain Collator', nodeManta],
['NFTMart Testnet', nodeNFTMart],
['NFTMart Staging', nodeNFTMart],
['node-template', nodeSubstrate],
['Nodle Chain Node', nodeNodle],
['Patract Node', nodeJupiter],
['Polkadex Node', nodePolkadex],
['Prism Node', nodePrism],
['Prism Collator', nodePrism],
['parity-polkadot', nodePolkadot],
['Parami', nodeParami],
['Plasm', nodePlasm],
['Plasm Node', nodePlasm],
['Plasm Parachain Collator', nodePlasm],
['phala-substrate-node', nodePhala],
['Phala Collator', nodePhala],
['polkadot-js', nodePolkadotJs],
['PolkaFoundry Node', nodePolkaFoundry],
['PolkaFoundry Parachain Collator', nodePolkaFoundry],
['ReAlis Network', nodeRealis],
['Rio Defi Chain Node', nodeRiochain],
['RioChain Staging', nodeRiochain],
['SORA', nodeSora],
['Stafi Node', nodeStafi],
['Stafi', nodeStafi],
['Statemint Collator', nodeStatemint],
['subsocial-node', nodeSubsocial],
['Subsocial Node', nodeSubsocial],
['Subsocial PC', nodeSubsocial],
['substrate-node', nodeSubstrate],
['sunrock', nodeSunrock],
['Equilibrium Node', nodeEquilibrium],
['Equilibrium', nodeEquilibrium],
['subzero node', nodeZero],
['Ternoa Node', nodeTernoa],
['TrustBase Node', nodeTrustBase],
['TrustBase Collator', nodeTrustBase],
['Zenlink', nodeZenlink],
['Zenlink Collator', nodeZenlink],
['SubDAO Collator', nodeSubDAO],
['uni arts node', nodeUniarts],
['Unique Node', nodeUnique],
['Vln', nodeVln],
['VLN PC', nodeVln],
['PHOENIX Node', nodePhoenix],
['PHOENIX Collator', nodePhoenix],
['Unit Node', nodeUnitv],
['Unit Collator', nodeUnitv],
['Web3games', nodeWeb3games],
['Westlake', nodeWestlake],
['Zeitgeist Node', nodeZeitgeist],
['Zeitgeist Collator', nodeZeitgeist],
['mybank.network', mybank]
].reduce((logos, [node, logo]): Record<string, unknown> => ({
...logos,
[(node as string).toLowerCase().replace(/-/g, ' ')]: logo
}), {});
// Alphabetical overrides when we pass an explicit logo name
// NOTE: Matches with what is defined as "info" in settings/endpoints.ts
// (Generally would be the 'network' key in the known ss58 as per
// https://github.com/polkadot-js/common/blob/master/packages/networks/src/index.ts)
export const namedLogos: Record<string, unknown> = {
acala: nodeAcala,
alexander: nodePolkadot,
beast: nodeBeast,
bifrost: nodeBifrost,
bitcountry: nodeBitCountry,
canvas: nodeCanvas,
centrifuge: nodeCentrifuge,
chainx: nodeChainx,
clover: nodeClover,
crab: nodeCrab,
crust: nodeCrust,
darwinia: nodeDarwinia,
datahighway: nodeDataHighway,
'dock-mainnet': nodeDockMainnet,
'dock-testnet': nodeDockTestnet,
dotmog: nodeDotMog,
dusty: chainDusty,
eave: nodeEave,
edgeware: nodeEdgeware,
empty: emptyLogo,
encointer_cantillon: nodeEncointerTeeproxy,
encointer_gesell: nodeEncointerNotee,
equilibrium: nodeEquilibrium,
galital: nodeGalital,
galois: nodeMath,
hanonycash: nodeHanonycash,
idavoll: nodeIdavoll,
ipse: nodeIpse,
jupiter: nodeJupiter,
kilt: nodeKilt,
kulupu: nodeKulupu,
kusama: chainKusama,
laminar: nodeLaminar,
litentry: nodeLitentry,
manta: nodeManta,
moonbaseAlpha: moonbeam,
mybank: mybank,
nftmart: nodeNFTMart,
nodle: nodeNodle,
phala: nodePhala,
phoenix: nodePhoenix,
plasm: nodePlasm,
polkabtc: nodePolkaBTC,
polkadex: nodePolkadex,
polkadot: nodePolkadot,
polkafoundry: nodePolkaFoundry,
prism: nodePrism,
realis: nodeRealis,
riochain: nodeRiochain,
rococo: chainRococo,
rococoAcala: nodeAcala,
rococoApron: nodeApron,
rococoAres: nodeAres,
rococoBifrost: nodeBifrost,
rococoBitCountry: nodeBitCountry,
rococoChainX: nodeChainx,
rococoClover: nodeClover,
rococoCrab: nodeCrab,
rococoCrust: nodeCrust,
rococoDarwinia: nodeDarwinia,
rococoDataHighway: nodeDataHighway,
rococoEave: nodeEave,
rococoEncointer: nodeEncointerNotee,
rococoEquilibrium: nodeEquilibrium,
rococoGalital: nodeGalital,
rococoHydrate: chainHydrate,
rococoIdavoll: nodeIdavoll,
rococoIntegritee: nodeIntegritee,
rococoJupiter: nodeJupiter,
rococoKilt: nodeKilt,
rococoKonomi: nodeKonomi,
rococoLaminar: nodeLaminar,
rococoLitentry: nodeLitentry,
rococoManta: nodeManta,
rococoMathChain: nodeMath,
rococoParami: nodeParami,
rococoPhala: nodePhala,
rococoPhoenix: nodePhoenix,
rococoPlasm: nodePlasm,
rococoPolkaFoundry: nodePolkaFoundry,
rococoPolkabtc: chainPolkaBTC,
rococoRobonomics: nodeRobonomics,
rococoStatemint: nodeStatemint,
rococoSubDAO: nodeSubDAO,
rococoSubsocial: nodeSubsocial,
rococoSunrock: nodeSunrock,
rococoTick: chainRococoTick,
rococoTrack: chainRococoTrack,
rococoTrick: chainRococoTrick,
rococoTrustBase: nodeTrustBase,
rococoUnitv: nodeUnitv,
rococoVln: nodeVln,
rococoZenlink: nodeZenlink,
snakenet: chainSnakenet,
'sora-substrate': nodeSora,
stafi: nodeStafi,
subsocial: nodeSubsocial,
substrate: nodeSubstrate,
sunrock: nodeSunrock,
'ternoa-chaos': nodeTernoa,
uniarts: nodeUniarts,
unique: nodeUnique,
unitv: nodeUnitv,
vln: nodeVln,
web3games: nodeWeb3games,
westend: nodePolkadot,
westlake: nodeWestlake,
zeitgeist: nodeZeitgeist,
zero: nodeZero
};
// extension logos
export const extensionLogos: Record<string, unknown> = {
'polkadot-js': extensionPolkadotJs
};
// external logos, i.e. for explorers
export const externalLogos: Record<string, unknown> = {
commonwealth: externalCommonwealth,
dotscanner: externalDotScanner,
polkascan: externalPolkascan,
polkassembly: externalPolkassembly,
polkastats: externalPolkastats,
subscan: externalSubscan
};
// empty logos
export const emptyLogos: Record<string, unknown> = {
empty: emptyLogo
};
// preload all
[chainLogos, extensionLogos, externalLogos, namedLogos, nodeLogos, emptyLogos].forEach((imageSet): void => {
Object.values(imageSet).forEach((src): void => {
new Image().src = src as string;
});
});