forked from polkadot-js/apps
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.ts
532 lines (522 loc) · 18.9 KB
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
// 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 chainEquilibrium from './chains/equilibrium.svg';
import chainGenshiro from './chains/genshiro.svg';
import chainHydrate from './chains/hydrate.png';
import chainKarura from './chains/karura.svg';
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 chainShiden from './chains/shiden.png';
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 nodeDataHighwayDefault from './nodes/datahighway-default-logo.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 nodeGalital from './nodes/galital-logo.png';
import nodeGamePower from './nodes/gamepower.svg';
import nodeGeek from './nodes/geek.svg';
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 nodeKhala from './nodes/khala.svg';
import nodeKilt from './nodes/kilt.svg';
import nodeKlug from './nodes/klug.png';
import nodeKonomi from './nodes/konomi.png';
import nodeKulupu from './nodes/kulupu.svg';
import nodeKylin from './nodes/kylin.png';
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 moonriver from './nodes/moonriver.svg';
import nodeMoonrock from './nodes/moonrock.png';
import moonshadow from './nodes/moonshadow.png';
import mybank from './nodes/mybank.png';
import nodeNFTMart from './nodes/nftmart.png';
import nodeNodle from './nodes/nodle.svg';
import oakTestnet from './nodes/oak-testnet.png';
import nodePangolin from './nodes/pangolin.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 nodePolkaSmith from './nodes/polkasmith.svg';
import nodePolymesh from './nodes/polymesh.svg';
import nodePontem from './nodes/pontem.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 nodeSakura from './nodes/sakura.svg';
import nodeShadow from './nodes/shadow.svg';
import nodeShell from './nodes/shell.svg';
import nodeSora from './nodes/sora-substrate.svg';
import nodeStafi from './nodes/stafi.png';
import nodeStatemine from './nodes/statemine.svg';
import nodeSubDAO from './nodes/subdao.png';
import nodeSubsocial from './nodes/subsocial.svg';
import nodeSubstrate from './nodes/substrate-hexagon.svg';
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 nodeWhala from './nodes/whala.svg';
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],
// https://github.com/DataHighway-DHX/node/blob/master/node/src/chain_spec.rs#L478
['DataHighway Harbour Testnet', nodeDataHighwayDefault],
// https://github.com/DataHighway-DHX/node/blob/master/node/src/chain_spec.rs#L807
['DataHighway Westlake Mainnet', nodeDataHighwayDefault],
// https://github.com/DataHighway-DHX/node/blob/ilya/parachain/node/src/chain_spec.rs#L239
['DataHighway Spreehafen', nodeDataHighwayDefault], // TODO - rename to 'DataHighway Spreehafen' in ilya/parachain branch
['Dusty', chainDusty],
['EquilibriumTestnet', chainGenshiro],
['Equilibrium', chainEquilibrium],
['Steam PC', nodeEave],
['Galital', nodeGalital],
['Galois', nodeMath],
['GamePower Network', nodeGamePower],
['GEEK', nodeGeek],
['HydraDX Hydrate', chainHydrate],
['HydraDX Snakenet', chainSnakenet],
['HydraDX Snakenet Gen2', chainSnakenet],
['HydraDX Snakenet Gen3', chainSnakenet],
['Encointer Canary', nodeEncointerNotee],
['Encointer PC1', nodeEncointerNotee],
['Idavoll', nodeIdavoll],
['IntegriTEE Network', nodeIntegritee],
['IntegriTEE PC1', nodeIntegritee],
['IpseTestnet', nodeIpse],
['Jupiter A1', nodeJupiter],
['Jupiter PC1', nodeJupiter],
['KILT PC1', nodeKilt],
['Karura', chainKarura],
['Konomi', nodeKonomi],
['Kusama', chainKusama], // new name after CC3
['Kusama CC1', chainKusama],
['Kusama CC2', chainKusama],
['Kusama CC3', chainKusama],
['Kylin Testnet', nodeKylin],
['KlugDossier', nodeKlug],
['Litentry', nodeLitentry],
['Manta Testnet', nodeManta],
['MathChain PC1', nodeMath],
['Moonbase Alpha', moonbeam],
['Moonbase Stage', moonbeam],
['Moonbase Development Testnet', moonbeam],
['Moonriver', moonriver],
['Moonrock', nodeMoonrock],
['Moonshadow', moonshadow],
['mybank.network PC1', mybank],
['NFTMart Testnet', nodeNFTMart],
['NFTMart Staging', nodeNFTMart],
['OAK Testnet', oakTestnet],
['Pangolin', nodePangolin],
['Parami PC2', nodeParami],
['PHOENIX PC1', nodePhoenix],
['PolkaBTC', nodePolkaBTC],
['PolkaBTC Staging', nodePolkaBTC],
['Polkadex Testnet', nodePolkadex],
['PolkaFoundry PC1', nodePolkaFoundry],
['Pontem Testnet', nodePontem],
['Prism Testnet', nodePrism],
['Prism PC1', nodePrism],
['Phala PC1', nodePhala],
['ReAlis Network', nodeRealis],
['Rococo', chainRococo],
['RioChain CC-1', nodeRiochain],
['RioChain Staging', nodeRiochain],
['Shiden', chainShiden],
['Shiden Shell', chainShiden],
['Statemine', nodeStatemine],
['Statemine Test', nodeStatemine],
['Statemint', nodeStatemine],
['Statemint Test', nodeStatemine],
['SubDAO PC1', nodeSubDAO],
['Subsocial', nodeSubsocial],
['Subsocial PC', nodeSubsocial],
['Tick', chainRococoTick],
['Track', chainRococoTrack],
['Trick', chainRococoTrick],
['TrustBase PC1', nodeTrustBase],
['uni arts staging network', nodeUniarts],
['UniArts Mainnet', nodeUniarts],
['Unique', chainUnique],
['Unit Network', nodeUnitv],
['VLN PC', nodeVln],
['Vln', nodeVln],
['Web3games', nodeWeb3games],
['Westmint', nodeStatemine],
['Westmint Test', nodeStatemine]
].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],
['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', nodeDataHighwayDefault], // TODO - deprecated?
// https://github.com/DataHighway-DHX/node/blob/master/node/src/command.rs#L43
['DataHighwayChain', nodeDataHighwayDefault], // Harbour + Westlake
// https://github.com/DataHighway-DHX/node/blob/ilya/parachain/node/src/command.rs#L53
['DataHighway Collator', nodeDataHighwayDefault], // Spreehafen
['DataHighway Node', nodeDataHighwayDefault], // TODO - deprecated?
['DataHighway Parachain Collator', nodeDataHighwayDefault], // TODO - deprecated?
['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],
['GamePower Node', nodeGamePower],
['GEEK', nodeGeek],
['Halongbay Parachain Collator', nodePolkaFoundry],
['hanonycash', nodeHanonycash],
['Idavoll Node', nodeIdavoll],
['Khala', nodeKhala],
['Khala Node', nodeKhala],
['KILT Node', nodeKilt],
['KILT Collator', nodeKilt],
['Kylin Node', nodeKylin],
['kulupu', nodeKulupu],
['Klug Dossier Node', nodeKlug],
['Laminar Node', nodeLaminar],
['Litentry', nodeLitentry],
['Litentry Collator', nodeLitentry],
['mandala node', nodeAcala],
['Manta Node', nodeManta],
['Manta Node', nodeManta],
['Manta Parachain Collator', nodeManta],
['Moonrock', nodeMoonrock],
['mybank.network', mybank],
['NFTMart Testnet', nodeNFTMart],
['NFTMart Staging', nodeNFTMart],
['node-template', nodeSubstrate],
['Nodle Chain Node', nodeNodle],
['OAK Testnet', oakTestnet],
['Pangolin', nodePangolin],
['Patract Node', nodeJupiter],
['Polkadex Node', nodePolkadex],
['Pontem', nodePontem],
['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],
['PHOENIX Node', nodePhoenix],
['PHOENIX Collator', nodePhoenix],
['polkadot-js', nodePolkadotJs],
['PolkaFoundry Node', nodePolkaFoundry],
['PolkaFoundry Parachain Collator', nodePolkaFoundry],
['PolkaSmith Parachain Collator', nodePolkaSmith],
['Pontem', nodePontem],
['ReAlis Network', nodeRealis],
['Rio Defi Chain Node', nodeRiochain],
['RioChain Staging', nodeRiochain],
['Sakura', nodeSakura],
['Shadow', nodeShadow],
['Shiden Collator', chainShiden],
['SORA', nodeSora],
['Stafi Node', nodeStafi],
['Stafi', nodeStafi],
['Statemine Collator', nodeStatemine],
['Statemint Collator', nodeStatemine],
['SubDAO Collator', nodeSubDAO],
['subsocial-node', nodeSubsocial],
['Subsocial Node', nodeSubsocial],
['Subsocial PC', nodeSubsocial],
['sherpax', nodeChainx],
['substrate-node', nodeSubstrate],
['subzero node', nodeZero],
['Ternoa Node', nodeTernoa],
['TrustBase Node', nodeTrustBase],
['TrustBase Collator', nodeTrustBase],
['uni arts node', nodeUniarts],
['UniArts Node', nodeUniarts],
['Unit Node', nodeUnitv],
['Unit Collator', nodeUnitv],
['Unique Node', nodeUnique],
['Vln', nodeVln],
['VLN PC', nodeVln],
['Web3games', nodeWeb3games],
['Westlake', nodeDataHighwayDefault],
['Westmint Collator', nodeStatemine],
['Whala', nodeWhala],
['Whala Node', nodeWhala],
['Zenlink', nodeZenlink],
['Zenlink Collator', nodeZenlink],
['Zeitgeist Node', nodeZeitgeist],
['Zeitgeist Collator', nodeZeitgeist]
].reduce((logos, [node, logo]): Record<string, unknown> => ({
...logos,
[(node as string).toLowerCase().replace(/-/g, ' ')]: logo
}), {});
// Alphabetical overrides based on the actual specName
export const specLogos: Record<string, unknown> = [
['datahighway', nodeStatemine],
['shell', nodeShell],
['statemine', nodeStatemine],
['statemint', nodeStatemine],
['westmint', nodeStatemine]
].reduce((logos, [spec, logo]): Record<string, unknown> => ({
...logos,
[(spec 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,
crab_redirect: nodeCrab,
crust: nodeCrust,
darwinia: nodeDarwinia,
'datahighway-harbour-chain-testnet': nodeDataHighwayDefault,
'datahighway-westlake-chain-mainnet': nodeDataHighwayDefault,
'dock-mainnet': nodeDockMainnet,
'dock-testnet': nodeDockTestnet,
dotmog: nodeDotMog,
dusty: chainDusty,
eave: nodeEave,
edgeware: nodeEdgeware,
empty: emptyLogo,
encointer_canary: nodeEncointerNotee,
encointer_cantillon: nodeEncointerTeeproxy,
encointer_gesell: nodeEncointerNotee,
equilibrium: chainEquilibrium,
galital: nodeGalital,
galois: nodeMath,
gamepower: nodeGamePower,
geek: nodeGeek,
genshiro: chainGenshiro,
halongbay: nodePolkaFoundry,
hanonycash: nodeHanonycash,
idavoll: nodeIdavoll,
integritee: nodeIntegritee,
ipse: nodeIpse,
jupiter: nodeJupiter,
karura: chainKarura,
khala: nodeKhala,
kilt: nodeKilt,
klugdossier: nodeKlug,
kulupu: nodeKulupu,
kusama: chainKusama,
kylin: nodeKylin,
laminar: nodeLaminar,
litentry: nodeLitentry,
manta: nodeManta,
moonbaseAlpha: moonbeam,
moonriver: moonriver,
moonrock: nodeMoonrock,
moonshadow: moonshadow,
mybank: mybank,
nftmart: nodeNFTMart,
nodle: nodeNodle,
'oak-testnet': oakTestnet,
pangolin: nodePangolin,
phala: nodePhala,
phoenix: nodePhoenix,
plasm: nodePlasm,
polkabtc: nodePolkaBTC,
polkadex: nodePolkadex,
polkadot: nodePolkadot,
polkafoundry: nodePolkaFoundry,
polkasmith: nodePolkaSmith,
polymesh: nodePolymesh,
pontem: nodePontem,
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: nodeDataHighwayDefault,
rococoEave: nodeEave,
rococoEncointer: nodeEncointerNotee,
rococoGalital: nodeGalital,
rococoHydrate: chainHydrate,
rococoIdavoll: nodeIdavoll,
rococoIntegritee: nodeIntegritee,
rococoJupiter: nodeJupiter,
rococoKilt: nodeKilt,
rococoKonomi: nodeKonomi,
rococoKylin: nodeKylin,
rococoLaminar: nodeLaminar,
rococoLitentry: nodeLitentry,
rococoManta: nodeManta,
rococoMathChain: nodeMath,
rococoMoonrock: nodeMoonrock,
rococoParami: nodeParami,
rococoPhala: nodePhala,
rococoPhoenix: nodePhoenix,
rococoPlasm: nodePlasm,
rococoPolkaFoundry: nodePolkaFoundry,
rococoPolkabtc: chainPolkaBTC,
rococoPrism: nodePrism,
rococoRobonomics: nodeRobonomics,
rococoStatemint: nodeStatemine,
rococoSubDAO: nodeSubDAO,
rococoSubsocial: nodeSubsocial,
rococoTick: chainRococoTick,
rococoTrack: chainRococoTrack,
rococoTrick: chainRococoTrick,
rococoTrustBase: nodeTrustBase,
rococoUnitv: nodeUnitv,
rococoVln: nodeVln,
rococoZeitgeist: nodeZeitgeist,
rococoZenlink: nodeZenlink,
sakura: nodeSakura,
shadow: nodeShadow,
shell: nodeShell,
sherpax: nodeChainx,
shibuya: chainShiden,
shiden: chainShiden,
snakenet: chainSnakenet,
'sora-substrate': nodeSora,
stafi: nodeStafi,
statemine: nodeStatemine,
statemint: nodeStatemine,
subsocial: nodeSubsocial,
substrate: nodeSubstrate,
'ternoa-chaos': nodeTernoa,
uniarts: nodeUniarts,
unique: nodeUnique,
unitv: nodeUnitv,
vln: nodeVln,
web3games: nodeWeb3games,
westend: nodePolkadot,
westmint: nodeStatemine,
whala: nodeWhala,
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;
});
});