Convert png/gif/svg to data:image/* uris (#8941)
* Convert png/gif/svg to data:image/* uris
* Ensure ui{Color, Logo} expands from EndpointOption -> LinkOption
* Dedupe shared options
* Apply uiColor & uiLogo
* Convert statemine/statemint/westmine to ui*
* Add script
* Adjustments
* Adjust logos
* Additional
* Additional
* Additional
* Additional
* Additional
* Additional
* Additional
* Additional
* Adjust
* Additional
* Additional
* Additional
* Additional
* Additional
* Additional
* Additional
@ -33,8 +33,9 @@
|
||||
"build:electron": "yarn clean:electronBuild && yarn build:electronMain && yarn build:electronRenderer",
|
||||
"build:electronMain": "cd packages/apps-electron && NODE_ENV=production yarn polkadot-exec-webpack --config webpack.main.cjs",
|
||||
"build:electronRenderer": "cd packages/apps-electron && NODE_ENV=production yarn polkadot-exec-webpack --config webpack.renderer.cjs",
|
||||
"build:extra": "yarn run test:one packages/apps-config/src/api/typesBundle.spec.ts",
|
||||
"build:extra": "yarn build:images && yarn run test:one packages/apps-config/src/api/typesBundle.spec.ts",
|
||||
"build:i18n": "i18next-scanner --config i18next-scanner.config.cjs && node ./scripts/i18nSort.cjs",
|
||||
"build:images": "node scripts/imgConvert.mjs",
|
||||
"build:release:electron": "yarn build && yarn build:electron && yarn postinstall:electron",
|
||||
"build:release:ghpages": "yarn polkadot-ci-ghact-docs",
|
||||
"build:release:ipfs": "node scripts/ipfsUpload.mjs",
|
||||
|
||||
@ -37,6 +37,7 @@
|
||||
"@polkadot/networks": "^10.3.1",
|
||||
"@polkadot/types": "^9.13.6",
|
||||
"@polkadot/util": "^10.3.1",
|
||||
"@polkadot/wasm-util": "^6.4.1",
|
||||
"@polkadot/x-fetch": "^10.3.1",
|
||||
"@polymathnetwork/polymesh-types": "0.0.2",
|
||||
"@snowfork/snowbridge-types": "0.2.7",
|
||||
|
||||
@ -19,21 +19,24 @@ export const prodChains: EndpointOption[] = [
|
||||
providers: {
|
||||
'3dpass': 'wss://rpc2.3dpass.org'
|
||||
},
|
||||
text: '3DPass'
|
||||
text: '3DPass',
|
||||
uiColor: '#323232'
|
||||
},
|
||||
{
|
||||
info: 'aleph',
|
||||
providers: {
|
||||
'Aleph Zero Foundation': 'wss://ws.azero.dev'
|
||||
},
|
||||
text: 'Aleph Zero'
|
||||
text: 'Aleph Zero',
|
||||
uiColor: '#00CCAB'
|
||||
},
|
||||
{
|
||||
info: 'Ares Odyssey',
|
||||
providers: {
|
||||
'Ares Protocol': 'wss://odyssey.aresprotocol.io'
|
||||
},
|
||||
text: 'Ares Odyssey'
|
||||
text: 'Ares Odyssey',
|
||||
uiColor: '#1295F0'
|
||||
},
|
||||
{
|
||||
info: 'automata',
|
||||
@ -41,14 +44,16 @@ export const prodChains: EndpointOption[] = [
|
||||
'Automata Network': 'wss://api.ata.network',
|
||||
OnFinality: 'wss://automata.api.onfinality.io/public-ws'
|
||||
},
|
||||
text: 'Automata'
|
||||
text: 'Automata',
|
||||
uiColor: '#EC7032'
|
||||
},
|
||||
{
|
||||
info: 'bittensor',
|
||||
providers: {
|
||||
'Opentensor Fdn (Archive)': 'wss://archivelb.nakamoto.opentensor.ai:9943'
|
||||
},
|
||||
text: 'Bittensor'
|
||||
text: 'Bittensor',
|
||||
uiColor: '#252525'
|
||||
},
|
||||
{
|
||||
info: 'centrifuge',
|
||||
@ -62,28 +67,32 @@ export const prodChains: EndpointOption[] = [
|
||||
providers: {
|
||||
ChainX: 'wss://mainnet.chainx.org/ws'
|
||||
},
|
||||
text: 'ChainX'
|
||||
text: 'ChainX',
|
||||
uiColor: '#F6C94A'
|
||||
},
|
||||
{
|
||||
info: 'competitors-club',
|
||||
providers: {
|
||||
// 'Competitors Club': 'wss://node0.competitors.club/wss' // https://github.com/polkadot-js/apps/issues/8263
|
||||
},
|
||||
text: 'Competitors Club'
|
||||
text: 'Competitors Club',
|
||||
uiColor: '#213830'
|
||||
},
|
||||
{
|
||||
info: 'creditcoin',
|
||||
providers: {
|
||||
'Creditcoin Foundation': 'wss://rpc.mainnet.creditcoin.network/ws'
|
||||
},
|
||||
text: 'Creditcoin'
|
||||
text: 'Creditcoin',
|
||||
uiColor: '#2D353F'
|
||||
},
|
||||
{
|
||||
info: 'crown-sterling',
|
||||
providers: {
|
||||
'Crown Sterling': 'wss://blockchain.crownsterling.io'
|
||||
},
|
||||
text: 'Crown Sterling'
|
||||
text: 'Crown Sterling',
|
||||
uiColor: '#13264b'
|
||||
},
|
||||
{
|
||||
info: 'crust',
|
||||
@ -115,7 +124,8 @@ export const prodChains: EndpointOption[] = [
|
||||
providers: {
|
||||
DeBio: 'wss://ws-rpc.debio.network'
|
||||
},
|
||||
text: 'DeBio'
|
||||
text: 'DeBio',
|
||||
uiColor: '#FF56E0'
|
||||
},
|
||||
{
|
||||
info: 'dock-pos-mainnet',
|
||||
@ -131,14 +141,16 @@ export const prodChains: EndpointOption[] = [
|
||||
JelliedOwl: 'wss://edgeware.jelliedowl.net'
|
||||
// OnFinality: 'wss://edgeware.api.onfinality.io/public-ws', // https://github.com/polkadot-js/apps/issues/8768
|
||||
},
|
||||
text: 'Edgeware'
|
||||
text: 'Edgeware',
|
||||
uiColor: '#111111'
|
||||
},
|
||||
{
|
||||
info: 'efinity',
|
||||
providers: {
|
||||
// Efinity: 'wss://rpc.efinity.io' // https://github.com/polkadot-js/apps/pull/6761
|
||||
},
|
||||
text: 'Efinity'
|
||||
text: 'Efinity',
|
||||
uiColor: '#496ddb'
|
||||
},
|
||||
{
|
||||
info: 'equilibrium',
|
||||
@ -159,7 +171,8 @@ export const prodChains: EndpointOption[] = [
|
||||
providers: {
|
||||
// Hanonycash: 'wss://rpc.hanonycash.com' // https://github.com/polkadot-js/apps/runs/2755409009?check_suite_focus=true
|
||||
},
|
||||
text: 'Hanonycash'
|
||||
text: 'Hanonycash',
|
||||
uiColor: '#0099CC'
|
||||
},
|
||||
{
|
||||
info: 'joystream',
|
||||
@ -173,7 +186,8 @@ export const prodChains: EndpointOption[] = [
|
||||
providers: {
|
||||
Kulupu: 'wss://rpc.kulupu.corepaper.org/ws'
|
||||
},
|
||||
text: 'Kulupu'
|
||||
text: 'Kulupu',
|
||||
uiColor: '#003366'
|
||||
},
|
||||
{
|
||||
info: 'kusari',
|
||||
@ -187,7 +201,8 @@ export const prodChains: EndpointOption[] = [
|
||||
providers: {
|
||||
Logion: 'wss://rpc01.logion.network'
|
||||
},
|
||||
text: 'logion Standalone'
|
||||
text: 'logion Standalone',
|
||||
uiColor: 'rgb(21, 38, 101)'
|
||||
},
|
||||
{
|
||||
info: 'mathchain',
|
||||
@ -202,7 +217,8 @@ export const prodChains: EndpointOption[] = [
|
||||
providers: {
|
||||
// ChainX: 'wss://minichain-mainnet.coming.chat/ws' // https://github.com/polkadot-js/apps/issues/7182
|
||||
},
|
||||
text: 'MiniX'
|
||||
text: 'MiniX',
|
||||
uiColor: '#5152f7'
|
||||
},
|
||||
{
|
||||
info: 'myriad',
|
||||
@ -231,7 +247,8 @@ export const prodChains: EndpointOption[] = [
|
||||
// Nodle: 'wss://main3.nodleprotocol.io', // https://github.com/polkadot-js/apps/issues/7652
|
||||
// OnFinality: 'wss://nodle.api.onfinality.io/public-ws' // https://github.com/polkadot-js/apps/issues/8013
|
||||
},
|
||||
text: 'Nodle'
|
||||
text: 'Nodle',
|
||||
uiColor: '#1ab394'
|
||||
},
|
||||
{
|
||||
info: 'polkadex',
|
||||
@ -239,7 +256,8 @@ export const prodChains: EndpointOption[] = [
|
||||
OnFinality: 'wss://polkadex.api.onfinality.io/public-ws',
|
||||
'Polkadex Team': 'wss://mainnet.polkadex.trade'
|
||||
},
|
||||
text: 'Polkadex'
|
||||
text: 'Polkadex',
|
||||
uiColor: '#7C30DD'
|
||||
},
|
||||
{
|
||||
info: 'polymesh',
|
||||
@ -267,7 +285,8 @@ export const prodChains: EndpointOption[] = [
|
||||
providers: {
|
||||
ChainX: 'wss://mainnet.sherpax.io'
|
||||
},
|
||||
text: 'SherpaX'
|
||||
text: 'SherpaX',
|
||||
uiColor: '#6bbee8'
|
||||
},
|
||||
{
|
||||
info: 'sora-substrate',
|
||||
@ -277,14 +296,16 @@ export const prodChains: EndpointOption[] = [
|
||||
'SORA Parliament Ministry of Finance #2': 'wss://mof2.sora.org',
|
||||
'SORA Parliament Ministry of Finance #3': 'wss://mof3.sora.org'
|
||||
},
|
||||
text: 'SORA'
|
||||
text: 'SORA',
|
||||
uiColor: '#2D2926'
|
||||
},
|
||||
{
|
||||
info: 'spanner',
|
||||
providers: {
|
||||
// Spanner: 'wss://wss.spannerprotocol.com' // https://github.com/polkadot-js/apps/issues/6547
|
||||
},
|
||||
text: 'Spanner'
|
||||
text: 'Spanner',
|
||||
uiColor: '#EC3D3D'
|
||||
},
|
||||
{
|
||||
info: 'stafi',
|
||||
@ -292,14 +313,16 @@ export const prodChains: EndpointOption[] = [
|
||||
providers: {
|
||||
'Stafi Foundation': 'wss://mainnet-rpc.stafi.io'
|
||||
},
|
||||
text: 'Stafi'
|
||||
text: 'Stafi',
|
||||
uiColor: '#00F3AB'
|
||||
},
|
||||
{
|
||||
info: 'subgame',
|
||||
providers: {
|
||||
SubGame: 'wss://mainnet.subgame.org/'
|
||||
},
|
||||
text: 'SubGame'
|
||||
text: 'SubGame',
|
||||
uiColor: '#EB027D'
|
||||
},
|
||||
{
|
||||
info: 'subsocial',
|
||||
@ -313,14 +336,16 @@ export const prodChains: EndpointOption[] = [
|
||||
providers: {
|
||||
Swapdex: 'wss://ws.swapdex.network'
|
||||
},
|
||||
text: 'Swapdex'
|
||||
text: 'Swapdex',
|
||||
uiColor: '#E94082'
|
||||
},
|
||||
{
|
||||
info: 'ternoa',
|
||||
providers: {
|
||||
CapsuleCorp: 'wss://mainnet.ternoa.network'
|
||||
},
|
||||
text: 'Ternoa'
|
||||
text: 'Ternoa',
|
||||
uiColor: '#d622ff'
|
||||
},
|
||||
{
|
||||
info: 'thebifrost-mainnet',
|
||||
@ -349,6 +374,7 @@ export const prodChains: EndpointOption[] = [
|
||||
providers: {
|
||||
// DataHighway: 'wss://westlake.datahighway.com' // https://github.com/polkadot-js/apps/issues/7293
|
||||
},
|
||||
text: 'Westlake'
|
||||
text: 'Westlake',
|
||||
uiColor: 'linear-gradient(-90deg, #9400D3 0%, #5A5CA9 50%, #00BFFF 100%)'
|
||||
}
|
||||
];
|
||||
|
||||
@ -4,6 +4,8 @@
|
||||
import type { EndpointOption } from './types';
|
||||
|
||||
import { KUSAMA_GENESIS } from '../api/constants';
|
||||
import { chainsAbandPNG, chainsKusamaSVG, chainsTinkerPNG, chainsTuringPNG } from '../ui/logos/chains';
|
||||
import { nodesAjunaPNG, nodesBridgeHubBlackSVG, nodesStatemineSVG, nodesZeitgeistPNG } from '../ui/logos/nodes';
|
||||
import { getTeleports } from './util';
|
||||
|
||||
// The available endpoints that will show in the dropdown. For the most part (with the exception of
|
||||
@ -21,7 +23,9 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
providers: {
|
||||
'Aband DAO': 'wss://rpc-parachain.a.band'
|
||||
},
|
||||
text: 'Aband'
|
||||
text: 'Aband',
|
||||
uiColor: '#7358ff',
|
||||
uiLogo: chainsAbandPNG
|
||||
},
|
||||
{
|
||||
homepage: 'https://centrifuge.io/altair',
|
||||
@ -31,7 +35,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
Centrifuge: 'wss://fullnode.altair.centrifuge.io',
|
||||
OnFinality: 'wss://altair.api.onfinality.io/public-ws'
|
||||
},
|
||||
text: 'Altair'
|
||||
text: 'Altair',
|
||||
uiColor: '#ffb700'
|
||||
},
|
||||
{
|
||||
homepage: 'https://pendulumchain.org/amplitude',
|
||||
@ -41,7 +46,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
Dwellir: 'wss://amplitude-rpc.dwellir.com',
|
||||
PendulumChain: 'wss://rpc-amplitude.pendulumchain.tech'
|
||||
},
|
||||
text: 'Amplitude'
|
||||
text: 'Amplitude',
|
||||
uiColor: '#5DEFA7'
|
||||
},
|
||||
{
|
||||
homepage: 'https://ajuna.io',
|
||||
@ -52,7 +58,9 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
Dwellir: 'wss://bajun-rpc.dwellir.com',
|
||||
OnFinality: 'wss://bajun.api.onfinality.io/public-ws'
|
||||
},
|
||||
text: 'Bajun Network'
|
||||
text: 'Bajun Network',
|
||||
uiColor: '#161212',
|
||||
uiLogo: nodesAjunaPNG
|
||||
},
|
||||
{
|
||||
homepage: 'https://app.basilisk.cloud',
|
||||
@ -62,7 +70,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
Basilisk: 'wss://rpc.basilisk.cloud',
|
||||
Dwellir: 'wss://basilisk-rpc.dwellir.com'
|
||||
},
|
||||
text: 'Basilisk'
|
||||
text: 'Basilisk',
|
||||
uiColor: '#49E49F'
|
||||
},
|
||||
{
|
||||
homepage: 'https://ksm.vtoken.io/?ref=polkadotjs',
|
||||
@ -82,7 +91,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
providers: {
|
||||
OnFinality: 'wss://pioneer.api.onfinality.io/public-ws'
|
||||
},
|
||||
text: 'Bit.Country Pioneer'
|
||||
text: 'Bit.Country Pioneer',
|
||||
uiColor: '#000000'
|
||||
},
|
||||
{
|
||||
homepage: 'https://www.calamari.network/',
|
||||
@ -91,7 +101,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
providers: {
|
||||
'Manta Network': 'wss://ws.calamari.systems/'
|
||||
},
|
||||
text: 'Calamari'
|
||||
text: 'Calamari',
|
||||
uiColor: '#000000'
|
||||
},
|
||||
{
|
||||
homepage: 'https://crust.network/',
|
||||
@ -172,7 +183,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
'bLd Nodes': 'wss://ws.gm.bldnodes.org',
|
||||
'light client': 'light://substrate-connect/kusama/gm'
|
||||
},
|
||||
text: 'GM'
|
||||
text: 'GM',
|
||||
uiColor: '#f47b36'
|
||||
},
|
||||
{
|
||||
homepage: 'https://imbue.network',
|
||||
@ -202,7 +214,9 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
OnFinality: 'wss://invarch-tinkernet.api.onfinality.io/public-ws',
|
||||
'light client': 'light://substrate-connect/kusama/tinkernet'
|
||||
},
|
||||
text: 'InvArch Tinkernet'
|
||||
text: 'InvArch Tinkernet',
|
||||
uiColor: '#161616',
|
||||
uiLogo: chainsTinkerPNG
|
||||
},
|
||||
{
|
||||
homepage: 'https://kabocha.network',
|
||||
@ -211,7 +225,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
providers: {
|
||||
JelliedOwl: 'wss://kabocha.jelliedowl.net'
|
||||
},
|
||||
text: 'Kabocha'
|
||||
text: 'Kabocha',
|
||||
uiColor: 'repeating-radial-gradient(black, black 4px, yellow 5px)'
|
||||
},
|
||||
{
|
||||
homepage: 'https://acala.network/karura/join-karura',
|
||||
@ -226,7 +241,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
OnFinality: 'wss://karura.api.onfinality.io/public-ws',
|
||||
'Polkawallet 0': 'wss://karura.polkawallet.io'
|
||||
},
|
||||
text: 'Karura'
|
||||
text: 'Karura',
|
||||
uiColor: '#ff4c3b'
|
||||
},
|
||||
{
|
||||
homepage: 'https://phala.network/',
|
||||
@ -238,7 +254,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
Phala: 'wss://khala-api.phala.network/ws',
|
||||
Pinknode: 'wss://public-rpc.pinknode.io/khala'
|
||||
},
|
||||
text: 'Khala Network'
|
||||
text: 'Khala Network',
|
||||
uiColor: '#03f3f3'
|
||||
},
|
||||
{
|
||||
homepage: 'https://dico.io/',
|
||||
@ -249,7 +266,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
// 'DICO Foundation 2': 'wss://rpc.api.kico.dico.io' // https://github.com/polkadot-js/apps/issues/8203
|
||||
|
||||
},
|
||||
text: 'KICO'
|
||||
text: 'KICO',
|
||||
uiColor: '#29B58D'
|
||||
},
|
||||
{
|
||||
homepage: 'https://dico.io/',
|
||||
@ -258,7 +276,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
providers: {
|
||||
// 'DICO Foundation': 'wss://rpc.kico2.dico.io' // https://github.com/polkadot-js/apps/issues/8415
|
||||
},
|
||||
text: 'KICO 2'
|
||||
text: 'KICO 2',
|
||||
uiColor: '#29B58D'
|
||||
},
|
||||
{
|
||||
homepage: 'https://kintsugi.interlay.io/',
|
||||
@ -278,7 +297,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
providers: {
|
||||
Kpron: 'wss://kusama-kpron-rpc.apron.network/'
|
||||
},
|
||||
text: 'Kpron'
|
||||
text: 'Kpron',
|
||||
uiColor: 'linear-gradient(45deg, #0099F7 0%, #2E49EB 100%)'
|
||||
},
|
||||
{
|
||||
homepage: 'https://listen.io/',
|
||||
@ -288,7 +308,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
'Listen Foundation 1': 'wss://rpc.mainnet.listen.io',
|
||||
'Listen Foundation 2': 'wss://wss.mainnet.listen.io'
|
||||
},
|
||||
text: 'Listen Network'
|
||||
text: 'Listen Network',
|
||||
uiColor: '#FFAD0A'
|
||||
},
|
||||
{
|
||||
homepage: 'https://kusama-crowdloan.litentry.com',
|
||||
@ -318,7 +339,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
providers: {
|
||||
'Hashed Systems': 'wss://c1.luhn.network'
|
||||
},
|
||||
text: 'Luhn Network'
|
||||
text: 'Luhn Network',
|
||||
uiColor: '#2F8E85'
|
||||
},
|
||||
{
|
||||
homepage: 'https://mangata.finance',
|
||||
@ -328,7 +350,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
Mangata: 'wss://prod-kusama-collator-01.mangatafinance.cloud',
|
||||
OnFinality: 'wss://mangata-x.api.onfinality.io/public-ws'
|
||||
},
|
||||
text: 'Mangata'
|
||||
text: 'Mangata',
|
||||
uiColor: '#030408'
|
||||
},
|
||||
{
|
||||
homepage: 'https://www.aresprotocol.io/mars',
|
||||
@ -377,7 +400,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
providers: {
|
||||
Composable: 'wss://rpc.composablenodes.tech'
|
||||
},
|
||||
text: 'Picasso'
|
||||
text: 'Picasso',
|
||||
uiColor: '#000000'
|
||||
},
|
||||
{
|
||||
homepage: 'https://kylin.network/',
|
||||
@ -408,7 +432,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
'Unique Asia': 'wss://asia-ws-quartz.unique.network',
|
||||
'Unique Europe': 'wss://eu-ws-quartz.unique.network'
|
||||
},
|
||||
text: 'QUARTZ by UNIQUE'
|
||||
text: 'QUARTZ by UNIQUE',
|
||||
uiColor: '#FF4D6A'
|
||||
},
|
||||
{
|
||||
homepage: 'https://riodefi.com',
|
||||
@ -417,7 +442,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
providers: {
|
||||
RioProtocol: 'wss://rio-kusama.riocorenetwork.com'
|
||||
},
|
||||
text: 'RioDeFi'
|
||||
text: 'RioDeFi',
|
||||
uiColor: '#4E7AED'
|
||||
},
|
||||
{
|
||||
homepage: 'http://robonomics.network/',
|
||||
@ -452,7 +478,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
providers: {
|
||||
Clover: 'wss://api-sakura.clover.finance'
|
||||
},
|
||||
text: 'Sakura'
|
||||
text: 'Sakura',
|
||||
uiColor: '#ff5995'
|
||||
},
|
||||
{
|
||||
homepage: 'https://shiden.astar.network/',
|
||||
@ -476,7 +503,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
providers: {
|
||||
StakeTechnologies: 'wss://rpc.shiden.astar.network'
|
||||
},
|
||||
text: 'Shiden Crowdloan 2'
|
||||
text: 'Shiden Crowdloan 2',
|
||||
uiColor: '#1b6dc1d9'
|
||||
},
|
||||
{
|
||||
homepage: 'https://icenetwork.io/snow',
|
||||
@ -495,7 +523,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
providers: {
|
||||
Soramitsu: 'wss://ws.parachain-collator-1.c1.sora2.soramitsu.co.jp'
|
||||
},
|
||||
text: 'SORA'
|
||||
text: 'SORA',
|
||||
uiColor: '#2D2926'
|
||||
},
|
||||
{
|
||||
homepage: 'http://subgame.org/',
|
||||
@ -505,7 +534,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
providers: {
|
||||
SubGame: 'wss://gamma.subgame.org/'
|
||||
},
|
||||
text: 'SubGame Gamma'
|
||||
text: 'SubGame Gamma',
|
||||
uiColor: '#EB027D'
|
||||
},
|
||||
{
|
||||
homepage: 'https://subsocial.network/',
|
||||
@ -523,7 +553,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
providers: {
|
||||
ZeroNetwork: 'wss://rpc-1.kusama.node.zero.io'
|
||||
},
|
||||
text: 'subzero'
|
||||
text: 'subzero',
|
||||
uiColor: '#000000'
|
||||
},
|
||||
{
|
||||
homepage: 'https://www.datahighway.com/',
|
||||
@ -532,7 +563,8 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
providers: {
|
||||
DataHighway: 'wss://tanganika.datahighway.com'
|
||||
},
|
||||
text: 'Tanganika'
|
||||
text: 'Tanganika',
|
||||
uiColor: 'linear-gradient(-90deg, #9400D3 0%, #5A5CA9 50%, #00BFFF 100%)'
|
||||
},
|
||||
{
|
||||
homepage: 'https://trustbase.network/',
|
||||
@ -550,7 +582,9 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
Dwellir: 'wss://turing-rpc.dwellir.com',
|
||||
OAK: 'wss://rpc.turing.oak.tech'
|
||||
},
|
||||
text: 'Turing Network'
|
||||
text: 'Turing Network',
|
||||
uiColor: '#A8278C',
|
||||
uiLogo: chainsTuringPNG
|
||||
},
|
||||
{
|
||||
homepage: 'https://standard.tech/',
|
||||
@ -570,7 +604,9 @@ export const prodParasKusama: EndpointOption[] = [
|
||||
Dwellir: 'wss://zeitgeist-rpc.dwellir.com',
|
||||
OnFinality: 'wss://zeitgeist.api.onfinality.io/public-ws'
|
||||
},
|
||||
text: 'Zeitgeist'
|
||||
text: 'Zeitgeist',
|
||||
uiColor: 'linear-gradient(180deg, rgba(32,90,172,1) 0%, rgba(26,72,138,1) 50%, rgba(13,36,69,1) 100%)',
|
||||
uiLogo: nodesZeitgeistPNG
|
||||
}
|
||||
];
|
||||
|
||||
@ -587,7 +623,9 @@ export const prodParasKusamaCommon: EndpointOption[] = [
|
||||
RadiumBlock: 'wss://statemine.public.curie.radiumblock.co/ws'
|
||||
},
|
||||
teleport: [-1],
|
||||
text: 'Statemine'
|
||||
text: 'Statemine',
|
||||
uiColor: '#113911',
|
||||
uiLogo: nodesStatemineSVG
|
||||
},
|
||||
{
|
||||
homepage: 'https://encointer.org/',
|
||||
@ -606,7 +644,8 @@ export const prodParasKusamaCommon: EndpointOption[] = [
|
||||
providers: {
|
||||
Parity: 'wss://kusama-bridge-hub-rpc.polkadot.io'
|
||||
},
|
||||
text: 'BridgeHub'
|
||||
text: 'BridgeHub',
|
||||
uiLogo: nodesBridgeHubBlackSVG
|
||||
}
|
||||
];
|
||||
|
||||
@ -631,5 +670,7 @@ export const prodRelayKusama: EndpointOption = {
|
||||
'light client': 'light://substrate-connect/kusama'
|
||||
},
|
||||
teleport: getTeleports(prodParasKusamaCommon),
|
||||
text: 'Kusama'
|
||||
text: 'Kusama',
|
||||
uiColor: '#000',
|
||||
uiLogo: chainsKusamaSVG
|
||||
};
|
||||
|
||||
@ -4,6 +4,8 @@
|
||||
import type { EndpointOption } from './types';
|
||||
|
||||
import { POLKADOT_GENESIS } from '../api/constants';
|
||||
import { chainsOakPNG, chainsPolkadotCircleSVG } from '../ui/logos/chains';
|
||||
import { nodesAjunaPNG, nodesStatemineSVG } from '../ui/logos/nodes';
|
||||
import { getTeleports } from './util';
|
||||
|
||||
// The available endpoints that will show in the dropdown. For the most part (with the exception of
|
||||
@ -28,7 +30,8 @@ export const prodParasPolkadot: EndpointOption[] = [
|
||||
OnFinality: 'wss://acala-polkadot.api.onfinality.io/public-ws',
|
||||
'Polkawallet 0': 'wss://acala.polkawallet.io'
|
||||
},
|
||||
text: 'Acala'
|
||||
text: 'Acala',
|
||||
uiColor: '#645AFF'
|
||||
},
|
||||
{
|
||||
homepage: 'https://ajuna.io',
|
||||
@ -38,7 +41,9 @@ export const prodParasPolkadot: EndpointOption[] = [
|
||||
AjunaNetwork: 'wss://rpc-parachain.ajuna.network',
|
||||
RadiumBlock: 'wss://ajuna.public.curie.radiumblock.co/ws'
|
||||
},
|
||||
text: 'Ajuna Network'
|
||||
text: 'Ajuna Network',
|
||||
uiColor: '#161212',
|
||||
uiLogo: nodesAjunaPNG
|
||||
},
|
||||
{
|
||||
homepage: 'https://www.aresprotocol.io/',
|
||||
@ -47,7 +52,8 @@ export const prodParasPolkadot: EndpointOption[] = [
|
||||
providers: {
|
||||
AresProtocol: 'wss://wss.odyssey.aresprotocol.io'
|
||||
},
|
||||
text: 'Ares Odyssey'
|
||||
text: 'Ares Odyssey',
|
||||
uiColor: '#1295F0'
|
||||
},
|
||||
{
|
||||
homepage: 'https://astar.network',
|
||||
@ -63,7 +69,8 @@ export const prodParasPolkadot: EndpointOption[] = [
|
||||
RadiumBlock: 'wss://astar.public.curie.radiumblock.co/ws',
|
||||
'light client': 'light://substrate-connect/polkadot/astar'
|
||||
},
|
||||
text: 'Astar'
|
||||
text: 'Astar',
|
||||
uiColor: '#1b6dc1d9'
|
||||
},
|
||||
{
|
||||
homepage: 'https://www.aventus.io/',
|
||||
@ -89,7 +96,8 @@ export const prodParasPolkadot: EndpointOption[] = [
|
||||
providers: {
|
||||
Bitgreen: 'wss://mainnet.bitgreen.org'
|
||||
},
|
||||
text: 'Bitgreen'
|
||||
text: 'Bitgreen',
|
||||
uiColor: '#224851'
|
||||
},
|
||||
{
|
||||
homepage: 'https://centrifuge.io',
|
||||
@ -109,19 +117,18 @@ export const prodParasPolkadot: EndpointOption[] = [
|
||||
Clover: 'wss://rpc-para.clover.finance',
|
||||
OnFinality: 'wss://clover.api.onfinality.io/public-ws' // https://github.com/polkadot-js/apps/issues/8355, then enabled in https://github.com/polkadot-js/apps/pull/8413, then broken in https://github.com/polkadot-js/apps/issues/8421, renenabled for PolkadotJS
|
||||
},
|
||||
text: 'Clover'
|
||||
text: 'Clover',
|
||||
uiColor: 'linear-gradient(to right, #52ad75, #7cc773)'
|
||||
},
|
||||
{
|
||||
homepage: 'http://www.coinversation.io/',
|
||||
info: 'coinversation',
|
||||
// this is also a duplicate as a Live and Testing network -
|
||||
// it is either/or, not and
|
||||
isUnreachable: true,
|
||||
paraId: 2027,
|
||||
providers: {
|
||||
// Coinversation: 'wss://rpc.coinversation.io/' // https://github.com/polkadot-js/apps/issues/6635
|
||||
},
|
||||
text: 'Coinversation'
|
||||
text: 'Coinversation',
|
||||
uiColor: '#e6017a'
|
||||
},
|
||||
{
|
||||
homepage: 'https://composable.finance/',
|
||||
@ -131,7 +138,8 @@ export const prodParasPolkadot: EndpointOption[] = [
|
||||
Composable: 'wss://rpc.composable.finance',
|
||||
OnFinality: 'wss://composable.api.onfinality.io/public-ws'
|
||||
},
|
||||
text: 'Composable Finance'
|
||||
text: 'Composable Finance',
|
||||
uiColor: '#C90E8A'
|
||||
},
|
||||
{
|
||||
homepage: 'https://crust.network',
|
||||
@ -169,7 +177,8 @@ export const prodParasPolkadot: EndpointOption[] = [
|
||||
Efinity: 'wss://rpc.efinity.io',
|
||||
OnFinality: 'wss://efinity.api.onfinality.io/public-ws'
|
||||
},
|
||||
text: 'Efinity'
|
||||
text: 'Efinity',
|
||||
uiColor: '#496ddb'
|
||||
},
|
||||
{
|
||||
homepage: 'https://equilibrium.io/',
|
||||
@ -189,7 +198,8 @@ export const prodParasPolkadot: EndpointOption[] = [
|
||||
'Frequency 0': 'wss://0.rpc.frequency.xyz',
|
||||
'Frequency 1': 'wss://1.rpc.frequency.xyz'
|
||||
},
|
||||
text: 'Frequency'
|
||||
text: 'Frequency',
|
||||
uiColor: '#4b64ff'
|
||||
},
|
||||
{
|
||||
homepage: 'https://geminis.network/',
|
||||
@ -208,7 +218,8 @@ export const prodParasPolkadot: EndpointOption[] = [
|
||||
providers: {
|
||||
'Hashed Systems': 'wss://c1.hashed.network'
|
||||
},
|
||||
text: 'Hashed Network'
|
||||
text: 'Hashed Network',
|
||||
uiColor: '#9199A9'
|
||||
},
|
||||
{
|
||||
homepage: 'https://hydradx.io/',
|
||||
@ -277,7 +288,8 @@ export const prodParasPolkadot: EndpointOption[] = [
|
||||
Dwellir: 'wss://litentry-rpc.dwellir.com',
|
||||
Litentry: 'wss://rpc.litentry-parachain.litentry.io'
|
||||
},
|
||||
text: 'Litentry'
|
||||
text: 'Litentry',
|
||||
uiColor: 'linear-gradient(45deg, #5cc27c 0%, #6de98f 100%)'
|
||||
},
|
||||
{
|
||||
homepage: 'https://manta.network',
|
||||
@ -289,7 +301,8 @@ export const prodParasPolkadot: EndpointOption[] = [
|
||||
// 'Manta Munkiana': 'wss://munkiana.manta.systems', // https://github.com/polkadot-js/apps/issues/6871
|
||||
// 'Manta Pectinata': 'wss://pectinata.manta.systems' // https://github.com/polkadot-js/apps/issues/7018
|
||||
},
|
||||
text: 'Manta'
|
||||
text: 'Manta',
|
||||
uiColor: '#2070a6'
|
||||
},
|
||||
{
|
||||
homepage: 'https://moonbeam.network/networks/moonbeam/',
|
||||
@ -313,7 +326,8 @@ export const prodParasPolkadot: EndpointOption[] = [
|
||||
OnFinality: 'wss://nodle-parachain.api.onfinality.io/public-ws',
|
||||
Pinknode: 'wss://public-rpc.pinknode.io/nodle'
|
||||
},
|
||||
text: 'Nodle'
|
||||
text: 'Nodle',
|
||||
uiColor: '#1ab394'
|
||||
},
|
||||
{
|
||||
homepage: 'https://oak.tech',
|
||||
@ -323,7 +337,8 @@ export const prodParasPolkadot: EndpointOption[] = [
|
||||
providers: {
|
||||
OAK: 'wss://rpc.oak.tech'
|
||||
},
|
||||
text: 'OAK Network'
|
||||
text: 'OAK Network',
|
||||
uiLogo: chainsOakPNG
|
||||
},
|
||||
{
|
||||
homepage: 'https://www.omnibtc.finance',
|
||||
@ -342,7 +357,8 @@ export const prodParasPolkadot: EndpointOption[] = [
|
||||
providers: {
|
||||
TraceLabs: 'wss://parachain-rpc.origin-trail.network'
|
||||
},
|
||||
text: 'OriginTrail'
|
||||
text: 'OriginTrail',
|
||||
uiColor: '#FB5DEB'
|
||||
},
|
||||
{
|
||||
homepage: 'https://parallel.fi',
|
||||
@ -384,7 +400,8 @@ export const prodParasPolkadot: EndpointOption[] = [
|
||||
// 'Polkadex Team': 'wss://mainnet.polkadex.trade/', // https://github.com/polkadot-js/apps/issues/7620
|
||||
// OnFinality: 'wss://polkadex.api.onfinality.io/public-ws' // https://github.com/polkadot-js/apps/issues/7620
|
||||
},
|
||||
text: 'Polkadex'
|
||||
text: 'Polkadex',
|
||||
uiColor: '#7C30DD'
|
||||
},
|
||||
{
|
||||
homepage: 'https://subdao.network/',
|
||||
@ -394,15 +411,18 @@ export const prodParasPolkadot: EndpointOption[] = [
|
||||
providers: {
|
||||
SubDAO: 'wss://parachain-rpc.subdao.org'
|
||||
},
|
||||
text: 'SubDAO'
|
||||
text: 'SubDAO',
|
||||
uiColor: 'linear-gradient(50deg, #F20092 0%, #FF4D5D 100%)'
|
||||
},
|
||||
{
|
||||
homepage: 'http://subgame.org/',
|
||||
info: 'subgame',
|
||||
paraId: 2017,
|
||||
providers: {// SubGame: 'wss://gamma.subgame.org/' // https://github.com/polkadot-js/apps/pull/6761
|
||||
providers: {
|
||||
// SubGame: 'wss://gamma.subgame.org/' // https://github.com/polkadot-js/apps/pull/6761
|
||||
},
|
||||
text: 'SubGame Gamma'
|
||||
text: 'SubGame Gamma',
|
||||
uiColor: '#EB027D'
|
||||
},
|
||||
{
|
||||
homepage: 'https://unique.network/',
|
||||
@ -431,7 +451,9 @@ export const prodParasPolkadotCommon: EndpointOption[] = [
|
||||
RadiumBlock: 'wss://statemint.public.curie.radiumblock.co/ws'
|
||||
},
|
||||
teleport: [-1],
|
||||
text: 'Statemint'
|
||||
text: 'Statemint',
|
||||
uiColor: '#86e62a',
|
||||
uiLogo: nodesStatemineSVG
|
||||
},
|
||||
{
|
||||
info: 'polkadotCollectives',
|
||||
@ -441,7 +463,8 @@ export const prodParasPolkadotCommon: EndpointOption[] = [
|
||||
Parity: 'wss://polkadot-collectives-rpc.polkadot.io'
|
||||
},
|
||||
teleport: [-1],
|
||||
text: 'Collectives'
|
||||
text: 'Collectives',
|
||||
uiColor: '#e6777a'
|
||||
}
|
||||
];
|
||||
|
||||
@ -466,5 +489,7 @@ export const prodRelayPolkadot: EndpointOption = {
|
||||
'light client': 'light://substrate-connect/polkadot'
|
||||
},
|
||||
teleport: getTeleports(prodParasPolkadotCommon),
|
||||
text: 'Polkadot'
|
||||
text: 'Polkadot',
|
||||
uiColor: '#e6007a',
|
||||
uiLogo: chainsPolkadotCircleSVG
|
||||
};
|
||||
|
||||
@ -3,6 +3,8 @@
|
||||
|
||||
import type { EndpointOption } from './types';
|
||||
|
||||
import { nodesAjunaPNG, nodesZeitgeistPNG } from '../ui/logos/nodes';
|
||||
|
||||
export * from './testingRelayRococo';
|
||||
export * from './testingRelayWestend';
|
||||
|
||||
@ -19,14 +21,17 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
'3dpass': 'wss://test-rpc.3dpass.org'
|
||||
},
|
||||
text: '3DPass Testnet'
|
||||
text: '3DPass Testnet',
|
||||
uiColor: '#323232'
|
||||
},
|
||||
{
|
||||
info: 'ajuna',
|
||||
providers: {
|
||||
'Ajuna Network': 'wss://rpc-test.ajuna.network'
|
||||
},
|
||||
text: 'Ajuna Testnet'
|
||||
text: 'Ajuna Testnet',
|
||||
uiColor: '#161212',
|
||||
uiLogo: nodesAjunaPNG
|
||||
},
|
||||
{
|
||||
info: 'aleph',
|
||||
@ -34,14 +39,16 @@ export const testChains: EndpointOption[] = [
|
||||
'Aleph Zero Foundation': 'wss://ws.test.azero.dev',
|
||||
Dwellir: 'wss://aleph-zero-testnet-rpc.dwellir.com'
|
||||
},
|
||||
text: 'Aleph Zero Testnet'
|
||||
text: 'Aleph Zero Testnet',
|
||||
uiColor: '#00CCAB'
|
||||
},
|
||||
{
|
||||
info: 'nodle',
|
||||
providers: {
|
||||
// Nodle: 'wss://arcadia1.nodleprotocol.io' // https://github.com/polkadot-js/apps/issues/7652
|
||||
},
|
||||
text: 'Arcadia'
|
||||
text: 'Arcadia',
|
||||
uiColor: '#1ab394'
|
||||
},
|
||||
{
|
||||
info: 'arctic',
|
||||
@ -55,7 +62,8 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
'Ares Protocol': 'wss://gladios.aresprotocol.io'
|
||||
},
|
||||
text: 'Ares Gladios'
|
||||
text: 'Ares Gladios',
|
||||
uiColor: '#1295F0'
|
||||
},
|
||||
{
|
||||
info: 'jaz',
|
||||
@ -70,7 +78,8 @@ export const testChains: EndpointOption[] = [
|
||||
'Automata Network': 'wss://cf-api.ata.network',
|
||||
OnFinality: 'wss://contextfree.api.onfinality.io/public-ws'
|
||||
},
|
||||
text: 'Automata ContextFree'
|
||||
text: 'Automata ContextFree',
|
||||
uiColor: '#EC7032'
|
||||
},
|
||||
{
|
||||
info: 'edgeware',
|
||||
@ -98,31 +107,24 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
CESS: 'wss://testnet-rpc0.cess.cloud/ws/'
|
||||
},
|
||||
text: 'CESS Testnet'
|
||||
text: 'CESS Testnet',
|
||||
uiColor: '#2269a9'
|
||||
},
|
||||
{
|
||||
info: 'clover',
|
||||
providers: {
|
||||
// Clover: 'wss://api.clover.finance/' // Cannot construct unknown type BridgeNetworks
|
||||
},
|
||||
text: 'Clover'
|
||||
},
|
||||
{
|
||||
// this is also a duplicate as a parachain under Polkadot and live under production -
|
||||
// it is either/or, not and
|
||||
info: 'coinversation',
|
||||
isDisabled: true, // https://github.com/polkadot-js/apps/issues/6635
|
||||
providers: {
|
||||
Coinversation: 'wss://rpc.coinversation.io/'
|
||||
},
|
||||
text: 'Coinversation'
|
||||
text: 'Clover',
|
||||
uiColor: 'linear-gradient(to right, #52ad75, #7cc773)'
|
||||
},
|
||||
{
|
||||
info: 'creditcoin-testnet',
|
||||
providers: {
|
||||
'Creditcoin Foundation': 'wss://rpc.testnet.creditcoin.network/ws'
|
||||
},
|
||||
text: 'Creditcoin Testnet'
|
||||
text: 'Creditcoin Testnet',
|
||||
uiColor: '#00DF83'
|
||||
},
|
||||
{
|
||||
info: 'Crust Maxwell',
|
||||
@ -146,7 +148,8 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
DeBio: 'wss://ws-rpc.testnet.debio.network'
|
||||
},
|
||||
text: 'DeBio Testnet'
|
||||
text: 'DeBio Testnet',
|
||||
uiColor: '#FF56E0'
|
||||
},
|
||||
{
|
||||
info: 'dock-testnet',
|
||||
@ -160,14 +163,16 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
// 'Dolphin Testnet': 'wss://trillian.dolphin.red' // https://github.com/polkadot-js/apps/issues/7439
|
||||
},
|
||||
text: 'Dolphin Testnet'
|
||||
text: 'Dolphin Testnet',
|
||||
uiColor: '#000000'
|
||||
},
|
||||
{
|
||||
info: 'dotmog',
|
||||
providers: {
|
||||
// DOTMog: 'wss://mogiway-01.dotmog.com' // https://github.com/polkadot-js/apps/issues/8895
|
||||
},
|
||||
text: 'DOTMog'
|
||||
text: 'DOTMog',
|
||||
uiColor: '#020609'
|
||||
},
|
||||
{
|
||||
info: 'encointer',
|
||||
@ -188,14 +193,16 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
// FantourDev: 'wss://test-ws.fantour.io' // https://github.com/polkadot-js/apps/issues/6519
|
||||
},
|
||||
text: 'Fantour'
|
||||
text: 'Fantour',
|
||||
uiColor: '#5a189a'
|
||||
},
|
||||
{
|
||||
info: 'ferrum',
|
||||
providers: {
|
||||
Ferrum: 'wss://testnet.dev.svcs.ferrumnetwork.io'
|
||||
},
|
||||
text: 'Ferrum Testnet'
|
||||
text: 'Ferrum Testnet',
|
||||
uiColor: '#b37700'
|
||||
},
|
||||
{
|
||||
info: 'substrate',
|
||||
@ -224,14 +231,16 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
// GamePower: 'wss://gamepower.io' // https://github.com/polkadot-js/apps/issues/7223
|
||||
},
|
||||
text: 'GamePower'
|
||||
text: 'GamePower',
|
||||
uiColor: '#5d21a5'
|
||||
},
|
||||
{
|
||||
info: 'geek',
|
||||
providers: {
|
||||
// 'Geek Team': 'wss://testnet.geekcash.org' // https://github.com/polkadot-js/apps/issues/8361
|
||||
},
|
||||
text: 'GeekCash'
|
||||
text: 'GeekCash',
|
||||
uiColor: '#4f46e5'
|
||||
},
|
||||
{
|
||||
info: 'halongbay',
|
||||
@ -252,7 +261,8 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
// 'InvArch Team': 'wss://brainstorm.invarch.network/' // https://github.com/polkadot-js/apps/issues/8020
|
||||
},
|
||||
text: 'InvArch Brainstorm Testnet'
|
||||
text: 'InvArch Brainstorm Testnet',
|
||||
uiColor: '#161616'
|
||||
},
|
||||
{
|
||||
info: 'ipse',
|
||||
@ -262,21 +272,24 @@ export const testChains: EndpointOption[] = [
|
||||
'IPSE Europe': 'wss://testnet-europe.ipse.io',
|
||||
'IPSE USA': 'wss://testnet-usa.ipse.io'
|
||||
},
|
||||
text: 'IPSE'
|
||||
text: 'IPSE',
|
||||
uiColor: '#08a1e8'
|
||||
},
|
||||
{
|
||||
info: 'jupiter',
|
||||
providers: {
|
||||
// Patract: 'wss://ws.jupiter-poa.patract.cn' // https://github.com/polkadot-js/apps/issues/7765
|
||||
},
|
||||
text: 'Jupiter'
|
||||
text: 'Jupiter',
|
||||
uiColor: '#7143ff'
|
||||
},
|
||||
{
|
||||
info: 'khala',
|
||||
providers: {
|
||||
// 'Phala Network': 'wss://pc-test-3.phala.network/khala/ws' // https://github.com/polkadot-js/apps/issues/6930
|
||||
},
|
||||
text: 'Khala (Para 3)'
|
||||
text: 'Khala (Para 3)',
|
||||
uiColor: '#03f3f3'
|
||||
},
|
||||
{
|
||||
info: 'kilt',
|
||||
@ -290,7 +303,8 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
'KILT Protocol': 'wss://peregrine.kilt.io/parachain-public-ws/'
|
||||
},
|
||||
text: 'KILT Peregrine'
|
||||
text: 'KILT Peregrine',
|
||||
uiColor: 'linear-gradient(45deg, #f05a27 0%, #8c145a 100%)'
|
||||
},
|
||||
{
|
||||
info: 'kintsugi-testnet',
|
||||
@ -304,7 +318,8 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
// 'Klug Dossier': 'wss://klugdossier.net/' // https://github.com/polkadot-js/apps/issues/8081
|
||||
},
|
||||
text: 'Klug Dossier'
|
||||
text: 'Klug Dossier',
|
||||
uiColor: '#663399'
|
||||
},
|
||||
{
|
||||
info: 'kylin',
|
||||
@ -318,21 +333,24 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
Litentry: 'wss://testnet.litentry.io'
|
||||
},
|
||||
text: 'Litentry Testnet'
|
||||
text: 'Litentry Testnet',
|
||||
uiColor: 'linear-gradient(45deg, #5cc27c 0%, #6de98f 100%)'
|
||||
},
|
||||
{
|
||||
info: 'logion',
|
||||
providers: {
|
||||
Logion: 'wss://chimay.logion.network'
|
||||
},
|
||||
text: 'logion Para Testnet'
|
||||
text: 'logion Para Testnet',
|
||||
uiColor: 'rgb(21, 38, 101)'
|
||||
},
|
||||
{
|
||||
info: 'logion',
|
||||
providers: {
|
||||
Logion: 'wss://test-rpc01.logion.network'
|
||||
},
|
||||
text: 'logion Standalone Testnet'
|
||||
text: 'logion Standalone Testnet',
|
||||
uiColor: 'rgb(21, 38, 101)'
|
||||
},
|
||||
{
|
||||
info: 'acala',
|
||||
@ -347,14 +365,16 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
// 'Manta Testnet': 'wss://ws.f1.testnet.manta.network' // https://github.com/polkadot-js/apps/issues/6384
|
||||
},
|
||||
text: 'Manta Testnet'
|
||||
text: 'Manta Testnet',
|
||||
uiColor: '#2070a6'
|
||||
},
|
||||
{
|
||||
info: 'minix',
|
||||
providers: {
|
||||
// Chainx: 'wss://minichain.coming.chat/ws' // https://github.com/polkadot-js/apps/issues/8132
|
||||
},
|
||||
text: 'MiniX Testnet'
|
||||
text: 'MiniX Testnet',
|
||||
uiColor: '#5152f7'
|
||||
},
|
||||
{
|
||||
info: 'moonbaseAlpha',
|
||||
@ -364,14 +384,16 @@ export const testChains: EndpointOption[] = [
|
||||
OnFinality: 'wss://moonbeam-alpha.api.onfinality.io/public-ws',
|
||||
UnitedBloc: 'wss://moonbase.unitedbloc.com:1001'
|
||||
},
|
||||
text: 'Moonbase Alpha'
|
||||
text: 'Moonbase Alpha',
|
||||
uiColor: '#F45B5B'
|
||||
},
|
||||
{
|
||||
info: 'mybank',
|
||||
providers: {
|
||||
// MYBANK: 'wss://mybank.network/substrate' // https://github.com/polkadot-js/apps/issues/5845
|
||||
},
|
||||
text: 'mybank.network'
|
||||
text: 'mybank.network',
|
||||
uiColor: '#282736'
|
||||
},
|
||||
{
|
||||
info: 'myriad-tesnet',
|
||||
@ -396,7 +418,8 @@ export const testChains: EndpointOption[] = [
|
||||
'Geo Load Balancer': 'wss://ws-opal.unique.network',
|
||||
'North America': 'wss://us-ws-opal.unique.network'
|
||||
},
|
||||
text: 'OPAL by UNIQUE'
|
||||
text: 'OPAL by UNIQUE',
|
||||
uiColor: '#3B9C9D'
|
||||
},
|
||||
{
|
||||
info: 'opportunity',
|
||||
@ -431,7 +454,8 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
// 'phoenix Protocol': 'wss://phoenix-ws.coinid.pro/' // https://github.com/polkadot-js/apps/issues/6181
|
||||
},
|
||||
text: 'Phoenix Mashnet'
|
||||
text: 'Phoenix Mashnet',
|
||||
uiColor: '#d42181'
|
||||
},
|
||||
{
|
||||
info: 'pichiu',
|
||||
@ -445,7 +469,8 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
'Polkadex Team': 'wss://blockchain.polkadex.trade'
|
||||
},
|
||||
text: 'Polkadex'
|
||||
text: 'Polkadex',
|
||||
uiColor: '#7C30DD'
|
||||
},
|
||||
{
|
||||
info: 'polymesh',
|
||||
@ -466,14 +491,16 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
// Prism: 'wss://testnet.psm.link' // https://github.com/polkadot-js/apps/issues/7340
|
||||
},
|
||||
text: 'Prism'
|
||||
text: 'Prism',
|
||||
uiColor: 'linear-gradient(45deg, rgba(63,94,251,1) 0%, rgba(252,70,107,1) 100%)'
|
||||
},
|
||||
{
|
||||
info: 'realis',
|
||||
providers: {
|
||||
// 'Realis.Network': 'wss://rpc.realis.network/' // https://github.com/polkadot-js/apps/issues/7982
|
||||
},
|
||||
text: 'Realis.Network'
|
||||
text: 'Realis.Network',
|
||||
uiColor: '#000000'
|
||||
},
|
||||
{
|
||||
info: 'riochain',
|
||||
@ -487,7 +514,8 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
Chainx: 'wss://sherpax-testnet.chainx.org'
|
||||
},
|
||||
text: 'Sherpax Testnet'
|
||||
text: 'Sherpax Testnet',
|
||||
uiColor: '#6bbee8'
|
||||
},
|
||||
{
|
||||
info: 'shibuya',
|
||||
@ -495,7 +523,8 @@ export const testChains: EndpointOption[] = [
|
||||
Dwellir: 'wss://shibuya-rpc.dwellir.com',
|
||||
StakeTechnologies: 'wss://rpc.shibuya.astar.network'
|
||||
},
|
||||
text: 'Shibuya'
|
||||
text: 'Shibuya',
|
||||
uiColor: '#1b6dc1d9'
|
||||
},
|
||||
{
|
||||
info: 'skyekiwi',
|
||||
@ -519,56 +548,64 @@ export const testChains: EndpointOption[] = [
|
||||
'Soramitsu #3': 'wss://ws.framenode-3.s2.stg1.sora2.soramitsu.co.jp',
|
||||
'Soramitsu #4': 'wss://ws.framenode-4.s2.stg1.sora2.soramitsu.co.jp'
|
||||
},
|
||||
text: 'SORA-staging'
|
||||
text: 'SORA-staging',
|
||||
uiColor: '#2D2926'
|
||||
},
|
||||
{
|
||||
info: 'subdao',
|
||||
providers: {
|
||||
// SubDAO: 'wss://alpha.subdao.org' // https://github.com/polkadot-js/apps/issues/7473
|
||||
},
|
||||
text: 'SubDAO Staging'
|
||||
text: 'SubDAO Staging',
|
||||
uiColor: 'linear-gradient(50deg, #F20092 0%, #FF4D5D 100%)'
|
||||
},
|
||||
{
|
||||
info: 'subgame',
|
||||
providers: {
|
||||
// SubGame: 'wss://staging.subgame.org' // https://github.com/polkadot-js/apps/issues/7982
|
||||
},
|
||||
text: 'SubGame Staging'
|
||||
text: 'SubGame Staging',
|
||||
uiColor: '#EB027D'
|
||||
},
|
||||
{
|
||||
info: 'subspace-farmnet',
|
||||
providers: {
|
||||
// 'Subspace Network': 'wss://farm-rpc.subspace.network/ws' // https://github.com/polkadot-js/apps/issues/8135
|
||||
},
|
||||
text: 'Subspace Farmnet'
|
||||
text: 'Subspace Farmnet',
|
||||
uiColor: '#562b8e'
|
||||
},
|
||||
{
|
||||
info: 'subspace-gemini-1',
|
||||
providers: {
|
||||
Europe: 'wss://eu.gemini-1b.subspace.network/ws'
|
||||
},
|
||||
text: 'Subspace Gemini 1'
|
||||
text: 'Subspace Gemini 1',
|
||||
uiColor: '#562b8e'
|
||||
},
|
||||
{
|
||||
info: 'subspace-gemini-2a',
|
||||
providers: {
|
||||
Europe: 'wss://eu-0.gemini-2a.subspace.network/ws'
|
||||
},
|
||||
text: 'Subspace Gemini 2a'
|
||||
text: 'Subspace Gemini 2a',
|
||||
uiColor: '#562b8e'
|
||||
},
|
||||
{
|
||||
info: 'subspace',
|
||||
providers: {
|
||||
// 'Subspace Network': 'wss://test-rpc.subspace.network' // https://github.com/polkadot-js/apps/issues/8598
|
||||
},
|
||||
text: 'Subspace Testnet'
|
||||
text: 'Subspace Testnet',
|
||||
uiColor: '#562b8e'
|
||||
},
|
||||
{
|
||||
info: 'tangle',
|
||||
providers: {
|
||||
Webb: 'wss://tangle-archive.webb.tools'
|
||||
},
|
||||
text: 'Tangle Alpha'
|
||||
text: 'Tangle Alpha',
|
||||
uiColor: '#0099ff'
|
||||
},
|
||||
{
|
||||
info: 'ternoa-alphanet',
|
||||
@ -582,7 +619,8 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
CapsuleCorp: 'wss://testnet.ternoa.com/'
|
||||
},
|
||||
text: 'Ternoa Testnet'
|
||||
text: 'Ternoa Testnet',
|
||||
uiColor: '#d622ff'
|
||||
},
|
||||
{
|
||||
info: 'thebifrost-testnet',
|
||||
@ -597,7 +635,8 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
// Laminar: 'wss://testnet-node-1.laminar-chain.laminar.one/ws' // https://github.com/polkadot-js/apps/issues/8060
|
||||
},
|
||||
text: 'Turbulence'
|
||||
text: 'Turbulence',
|
||||
uiColor: '#004FFF'
|
||||
},
|
||||
{
|
||||
info: 'uniarts',
|
||||
@ -625,7 +664,8 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
'Gear Tech': 'wss://rpc.vara-network.io'
|
||||
},
|
||||
text: 'Vara'
|
||||
text: 'Vara',
|
||||
uiColor: '#32e37d'
|
||||
},
|
||||
{
|
||||
info: 'vodka',
|
||||
@ -646,20 +686,24 @@ export const testChains: EndpointOption[] = [
|
||||
providers: {
|
||||
// 'zCloak Network': 'wss://test1.zcloak.network' // https://github.com/polkadot-js/apps/issues/7408
|
||||
},
|
||||
text: 'zCloak-network'
|
||||
text: 'zCloak-network',
|
||||
uiColor: 'linear-gradient(to right, #E89A76 0%, #C5B8CC 50%, #B0B4D7 100%)'
|
||||
},
|
||||
{
|
||||
info: 'zeitgeist',
|
||||
providers: {
|
||||
Zeitgeist: 'wss://bsr.zeitgeist.pm'
|
||||
},
|
||||
text: 'Zeitgeist Battery Station'
|
||||
text: 'Zeitgeist Battery Station',
|
||||
uiColor: 'linear-gradient(180deg, rgba(32,90,172,1) 0%, rgba(26,72,138,1) 50%, rgba(13,36,69,1) 100%)',
|
||||
uiLogo: nodesZeitgeistPNG
|
||||
},
|
||||
{
|
||||
info: 'zero',
|
||||
providers: {
|
||||
// ZERO: 'wss://alphaville.zero.io' // https://github.com/polkadot-js/apps/issues/8263
|
||||
},
|
||||
text: 'Zero Alphaville'
|
||||
text: 'Zero Alphaville',
|
||||
uiColor: '#000000'
|
||||
}
|
||||
];
|
||||
|
||||
@ -4,6 +4,8 @@
|
||||
import type { EndpointOption } from './types';
|
||||
|
||||
import { ROCOCO_GENESIS } from '../api/constants';
|
||||
import { chainsT0rnPNG, chainsTinkerPNG, chainsTuringPNG, chainsVirtoPNG, chainsWatrPNG } from '../ui/logos/chains';
|
||||
import { nodesAjunaPNG, nodesBasiliskRococoBgPNG, nodesBridgeHubBlackSVG, nodesStatemineSVG, nodesZeitgeistPNG } from '../ui/logos/nodes';
|
||||
import { getTeleports } from './util';
|
||||
|
||||
// The available endpoints that will show in the dropdown. For the most part (with the exception of
|
||||
@ -20,7 +22,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
Acurast: 'wss://ws.acurast-rococo.diamond.papers.tech'
|
||||
},
|
||||
text: 'Acurast Testnet'
|
||||
text: 'Acurast Testnet',
|
||||
uiColor: '#000000'
|
||||
},
|
||||
{
|
||||
info: 'rococoAmplitude',
|
||||
@ -28,7 +31,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
PendulumChain: 'wss://rpc-foucoco.pendulumchain.tech'
|
||||
},
|
||||
text: 'Amplitude testnet (Foucoco)'
|
||||
text: 'Amplitude testnet (Foucoco)',
|
||||
uiColor: '#5DEFA7'
|
||||
},
|
||||
{
|
||||
info: 'arctic',
|
||||
@ -51,7 +55,9 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
AjunaNetwork: 'wss://rpc-rococo.bajun.network'
|
||||
},
|
||||
text: 'Bajun Network'
|
||||
text: 'Bajun Network',
|
||||
uiColor: '#161212',
|
||||
uiLogo: nodesAjunaPNG
|
||||
},
|
||||
{
|
||||
info: 'rococoBasilisk',
|
||||
@ -59,7 +65,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
'Galactic Council': 'wss://rococo-basilisk-rpc.hydration.dev'
|
||||
},
|
||||
text: 'Basilisk'
|
||||
text: 'Basilisk',
|
||||
uiColor: `url(${nodesBasiliskRococoBgPNG}) #000`
|
||||
},
|
||||
{
|
||||
info: 'rococoBifrost',
|
||||
@ -75,7 +82,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
Bitgreen: 'wss://staging.bitgreen.org'
|
||||
},
|
||||
text: 'Bitgreen'
|
||||
text: 'Bitgreen',
|
||||
uiColor: '#224851'
|
||||
},
|
||||
{
|
||||
info: 'rococoCatalyst',
|
||||
@ -107,7 +115,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
// Composable: 'wss://rpc.composablefinance.ninja' // https://github.com/polkadot-js/apps/issues/8867
|
||||
},
|
||||
text: 'Dali'
|
||||
text: 'Dali',
|
||||
uiColor: '#000000'
|
||||
},
|
||||
{
|
||||
info: 'rococoDolphin',
|
||||
@ -123,7 +132,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
Jur: 'wss://ethos.jur.io'
|
||||
},
|
||||
text: 'Ethos'
|
||||
text: 'Ethos',
|
||||
uiColor: '#203050'
|
||||
},
|
||||
{
|
||||
info: 'rococoFrequency',
|
||||
@ -131,7 +141,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
Frequency: 'wss://rpc.rococo.frequency.xyz'
|
||||
},
|
||||
text: 'Frequency'
|
||||
text: 'Frequency',
|
||||
uiColor: '#29fd47'
|
||||
},
|
||||
{
|
||||
info: 'rococoGenshiro',
|
||||
@ -179,7 +190,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
JelliedOwl: 'wss://kabsoup1.jelliedowl.com'
|
||||
},
|
||||
text: 'Kabocha (kabsoup)'
|
||||
text: 'Kabocha (kabsoup)',
|
||||
uiColor: 'repeating-radial-gradient(black, black 4px, yellow 5px)'
|
||||
},
|
||||
{
|
||||
info: 'rococoLitentry',
|
||||
@ -187,7 +199,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
Litentry: 'wss://rpc.rococo-parachain-sg.litentry.io'
|
||||
},
|
||||
text: 'Litentry'
|
||||
text: 'Litentry',
|
||||
uiColor: '#0a6a08'
|
||||
},
|
||||
{
|
||||
info: 'rococoMangata',
|
||||
@ -195,7 +208,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
Mangata: 'wss://roccoco-testnet-collator-01.mangatafinance.cloud'
|
||||
},
|
||||
text: 'Mangata'
|
||||
text: 'Mangata',
|
||||
uiColor: '#030408'
|
||||
},
|
||||
{
|
||||
info: 'rococoMd5',
|
||||
@ -203,7 +217,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
'Hashed Systems': 'wss://c1.md5.network'
|
||||
},
|
||||
text: 'MD5 Network'
|
||||
text: 'MD5 Network',
|
||||
uiColor: '#175bae'
|
||||
},
|
||||
{
|
||||
info: 'rococoMoonsama',
|
||||
@ -211,7 +226,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
// Moonsama: 'wss://moonsama-testnet-rpc.moonsama.com' // https://github.com/polkadot-js/apps/issues/7526
|
||||
},
|
||||
text: 'Moonsama'
|
||||
text: 'Moonsama',
|
||||
uiColor: '#000000'
|
||||
},
|
||||
{
|
||||
info: 'rococoNodle',
|
||||
@ -219,7 +235,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
OnFinality: 'wss://nodle-paradis.api.onfinality.io/public-ws'
|
||||
},
|
||||
text: 'Nodle'
|
||||
text: 'Nodle',
|
||||
uiColor: '#1ab394'
|
||||
},
|
||||
{
|
||||
homepage: 'https://www.my-oli.com/en/',
|
||||
@ -235,7 +252,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
TraceLabs: 'wss://parachain-testnet-rpc.origin-trail.network/'
|
||||
},
|
||||
text: 'OriginTrail Testnet'
|
||||
text: 'OriginTrail Testnet',
|
||||
uiColor: '#0C0C0C'
|
||||
},
|
||||
{
|
||||
info: 'rococoPangolin',
|
||||
@ -251,7 +269,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
'KILT Protocol': 'wss://rococo.kilt.io'
|
||||
},
|
||||
text: 'RILT'
|
||||
text: 'RILT',
|
||||
uiColor: 'linear-gradient(45deg, #8c145a 0%, #f05a27 100%)'
|
||||
},
|
||||
{
|
||||
homepage: 'http://robonomics.network/',
|
||||
@ -268,7 +287,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
Efinity: 'wss://rpc.rococo.efinity.io'
|
||||
},
|
||||
text: 'Rocfinity'
|
||||
text: 'Rocfinity',
|
||||
uiColor: '#496ddb'
|
||||
},
|
||||
{
|
||||
info: 'snowbridge',
|
||||
@ -292,7 +312,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
Soramitsu: 'wss://ws.parachain-collator-1.c1.stg1.sora2.soramitsu.co.jp'
|
||||
},
|
||||
text: 'SORA'
|
||||
text: 'SORA',
|
||||
uiColor: '#2D2926'
|
||||
},
|
||||
{
|
||||
info: 'rococoSpreehafen',
|
||||
@ -300,7 +321,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
DataHighway: 'wss://spreehafen.datahighway.com'
|
||||
},
|
||||
text: 'Spreehafen'
|
||||
text: 'Spreehafen',
|
||||
uiColor: 'linear-gradient(-90deg, #9400D3 0%, #5A5CA9 50%, #00BFFF 100%)'
|
||||
},
|
||||
{
|
||||
homepage: 'https://totemaccounting.com/',
|
||||
@ -325,7 +347,9 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
t3rn: 'wss://ws.t0rn.io'
|
||||
},
|
||||
text: 't0rn'
|
||||
text: 't0rn',
|
||||
uiColor: '#212322',
|
||||
uiLogo: chainsT0rnPNG
|
||||
},
|
||||
{
|
||||
info: 'tangle',
|
||||
@ -333,7 +357,8 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
Webb: 'wss://arana-alpha-1.webb.tools'
|
||||
},
|
||||
text: 'Tangle'
|
||||
text: 'Tangle',
|
||||
uiColor: '#483d8b'
|
||||
},
|
||||
{
|
||||
info: 'rococoTinkernet',
|
||||
@ -341,7 +366,9 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
// 'InvArch Team': 'wss://rococo.invarch.network' // https://github.com/polkadot-js/apps/issues/8266
|
||||
},
|
||||
text: 'Tinkernet'
|
||||
text: 'Tinkernet',
|
||||
uiColor: 'linear-gradient(90deg, rgba(253,52,166,1) 0%, rgba(22,213,239,1) 100%)',
|
||||
uiLogo: chainsTinkerPNG
|
||||
},
|
||||
{
|
||||
info: 'rococoTuring',
|
||||
@ -349,7 +376,9 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
OAK: 'wss://rpc.turing-staging.oak.tech'
|
||||
},
|
||||
text: 'Turing Network (Staging)'
|
||||
text: 'Turing Network (Staging)',
|
||||
uiColor: '#A8278C',
|
||||
uiLogo: chainsTuringPNG
|
||||
},
|
||||
{
|
||||
info: 'rococoUnitNetwork',
|
||||
@ -365,7 +394,9 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
// VirtoNetwork: 'wss://rococo.virtonetwork.xyz' // https://github.com/polkadot-js/apps/issues/8024
|
||||
},
|
||||
text: 'Virto'
|
||||
text: 'Virto',
|
||||
uiColor: '#063970',
|
||||
uiLogo: chainsVirtoPNG
|
||||
},
|
||||
{
|
||||
info: 'rococoWatr',
|
||||
@ -373,7 +404,9 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
Watr: 'wss://rpc.dev.watr.org'
|
||||
},
|
||||
text: 'Watr Network'
|
||||
text: 'Watr Network',
|
||||
uiColor: '#373b39',
|
||||
uiLogo: chainsWatrPNG
|
||||
},
|
||||
{
|
||||
info: 'rococoZeitgeist',
|
||||
@ -381,7 +414,9 @@ export const testParasRococo: EndpointOption[] = [
|
||||
providers: {
|
||||
Zeitgeist: 'wss://roc.zeitgeist.pm'
|
||||
},
|
||||
text: 'Zeitgeist Battery Station'
|
||||
text: 'Zeitgeist Battery Station',
|
||||
uiColor: 'linear-gradient(180deg, rgba(32,90,172,1) 0%, rgba(26,72,138,1) 50%, rgba(13,36,69,1) 100%)',
|
||||
uiLogo: nodesZeitgeistPNG
|
||||
}
|
||||
];
|
||||
|
||||
@ -393,7 +428,9 @@ export const testParasRococoCommon: EndpointOption[] = [
|
||||
Parity: 'wss://rococo-rockmine-rpc.polkadot.io'
|
||||
},
|
||||
teleport: [-1],
|
||||
text: 'Rockmine'
|
||||
text: 'Rockmine',
|
||||
uiColor: '#77bb77',
|
||||
uiLogo: nodesStatemineSVG
|
||||
},
|
||||
{
|
||||
info: 'rococoContracts',
|
||||
@ -402,7 +439,8 @@ export const testParasRococoCommon: EndpointOption[] = [
|
||||
Parity: 'wss://rococo-contracts-rpc.polkadot.io'
|
||||
},
|
||||
teleport: [-1],
|
||||
text: 'Contracts'
|
||||
text: 'Contracts',
|
||||
uiColor: '#000000'
|
||||
},
|
||||
{
|
||||
homepage: 'https://encointer.org/',
|
||||
@ -421,7 +459,8 @@ export const testParasRococoCommon: EndpointOption[] = [
|
||||
Parity: 'wss://rococo-bridge-hub-rpc.polkadot.io'
|
||||
},
|
||||
teleport: [-1],
|
||||
text: 'Bridgehub'
|
||||
text: 'Bridgehub',
|
||||
uiLogo: nodesBridgeHubBlackSVG
|
||||
}
|
||||
];
|
||||
|
||||
@ -441,5 +480,6 @@ export const testRelayRococo: EndpointOption = {
|
||||
'light client': 'light://substrate-connect/rococo'
|
||||
},
|
||||
teleport: getTeleports(testParasRococoCommon),
|
||||
text: 'Rococo'
|
||||
text: 'Rococo',
|
||||
uiColor: '#6f36dc'
|
||||
};
|
||||
|
||||
@ -4,6 +4,7 @@
|
||||
import type { EndpointOption } from './types';
|
||||
|
||||
import { WESTEND_GENESIS } from '../api/constants';
|
||||
import { nodesBridgeHubBlackSVG, nodesStatemineSVG } from '../ui/logos/nodes';
|
||||
import { getTeleports } from './util';
|
||||
|
||||
// The available endpoints that will show in the dropdown. For the most part (with the exception of
|
||||
@ -86,7 +87,8 @@ export const testParasWestend: EndpointOption[] = [
|
||||
providers: {
|
||||
// Phala: 'wss://whala.phala.network/ws' // https://github.com/polkadot-js/apps/issues/6181
|
||||
},
|
||||
text: 'Whala'
|
||||
text: 'Whala',
|
||||
uiColor: '#03f3f3'
|
||||
},
|
||||
{
|
||||
homepage: 'https://www.kilt.io/',
|
||||
@ -95,7 +97,8 @@ export const testParasWestend: EndpointOption[] = [
|
||||
providers: {
|
||||
'KILT Protocol': 'wss://westend.kilt.io:9977'
|
||||
},
|
||||
text: 'WILT'
|
||||
text: 'WILT',
|
||||
uiColor: '#8c145a'
|
||||
}
|
||||
];
|
||||
|
||||
@ -109,7 +112,9 @@ export const testParasWestendCommon: EndpointOption[] = [
|
||||
Parity: 'wss://westmint-rpc.polkadot.io'
|
||||
},
|
||||
teleport: [-1],
|
||||
text: 'Westmint'
|
||||
text: 'Westmint',
|
||||
uiColor: '#77bb77',
|
||||
uiLogo: nodesStatemineSVG
|
||||
},
|
||||
{
|
||||
info: 'westendCollectives',
|
||||
@ -118,7 +123,8 @@ export const testParasWestendCommon: EndpointOption[] = [
|
||||
Parity: 'wss://westend-collectives-rpc.polkadot.io'
|
||||
},
|
||||
teleport: [-1],
|
||||
text: 'Collectives'
|
||||
text: 'Collectives',
|
||||
uiColor: '#e6777a'
|
||||
},
|
||||
{
|
||||
info: 'westendBridgeHub',
|
||||
@ -126,7 +132,8 @@ export const testParasWestendCommon: EndpointOption[] = [
|
||||
providers: {
|
||||
Parity: 'wss://westend-bridge-hub-rpc.polkadot.io'
|
||||
},
|
||||
text: 'BridgeHub'
|
||||
text: 'BridgeHub',
|
||||
uiLogo: nodesBridgeHubBlackSVG
|
||||
}
|
||||
];
|
||||
|
||||
@ -149,5 +156,6 @@ export const testRelayWestend: EndpointOption = {
|
||||
'light client': 'light://substrate-connect/westend'
|
||||
},
|
||||
teleport: getTeleports(testParasWestendCommon),
|
||||
text: 'Westend'
|
||||
text: 'Westend',
|
||||
uiColor: '#da68a7'
|
||||
};
|
||||
|
||||
@ -3,30 +3,30 @@
|
||||
|
||||
import type { Option } from '../settings/types';
|
||||
|
||||
export interface EndpointOption {
|
||||
interface BaseOption {
|
||||
dnslink?: string;
|
||||
genesisHash?: string;
|
||||
homepage?: string;
|
||||
paraId?: number;
|
||||
summary?: string;
|
||||
teleport?: number[];
|
||||
uiColor?: string;
|
||||
uiLogo?: string;
|
||||
}
|
||||
|
||||
export interface EndpointOption extends BaseOption {
|
||||
isChild?: boolean;
|
||||
isDevelopment?: boolean;
|
||||
isDisabled?: boolean;
|
||||
isUnreachable?: boolean;
|
||||
linked?: EndpointOption[];
|
||||
info?: string;
|
||||
paraId?: number;
|
||||
providers: Record<string, string>;
|
||||
summary?: string;
|
||||
teleport?: number[];
|
||||
text: string;
|
||||
uiColor?: string;
|
||||
uiLogo?: string;
|
||||
}
|
||||
|
||||
export interface LinkOption extends Option {
|
||||
dnslink?: string;
|
||||
genesisHash?: string;
|
||||
export interface LinkOption extends BaseOption, Option {
|
||||
genesisHashRelay?: string;
|
||||
homepage?: string;
|
||||
isChild?: boolean;
|
||||
isDevelopment?: boolean;
|
||||
isLightClient?: boolean;
|
||||
@ -34,9 +34,6 @@ export interface LinkOption extends Option {
|
||||
isUnreachable?: boolean;
|
||||
isSpaced?: boolean;
|
||||
linked?: LinkOption[];
|
||||
paraId?: number;
|
||||
summary?: string;
|
||||
teleport?: number[];
|
||||
textBy: string;
|
||||
textRelay?: React.ReactNode;
|
||||
value: string;
|
||||
|
||||
@ -45,7 +45,7 @@ function expandLinked (input: LinkOption[]): LinkOption[] {
|
||||
}, []);
|
||||
}
|
||||
|
||||
function expandEndpoint (t: TFunction, { dnslink, genesisHash, homepage, info, isChild, isDisabled, isUnreachable, linked, paraId, providers, teleport, text }: EndpointOption, firstOnly: boolean, withSort: boolean): LinkOption[] {
|
||||
function expandEndpoint (t: TFunction, { dnslink, genesisHash, homepage, info, isChild, isDisabled, isUnreachable, linked, paraId, providers, teleport, text, uiColor, uiLogo }: EndpointOption, firstOnly: boolean, withSort: boolean): LinkOption[] {
|
||||
const hasProviders = Object.keys(providers).length !== 0;
|
||||
const base = {
|
||||
genesisHash,
|
||||
@ -56,7 +56,9 @@ function expandEndpoint (t: TFunction, { dnslink, genesisHash, homepage, info, i
|
||||
isUnreachable: isUnreachable || !hasProviders,
|
||||
paraId,
|
||||
teleport,
|
||||
text
|
||||
text,
|
||||
uiColor,
|
||||
uiLogo
|
||||
};
|
||||
|
||||
const result = Object
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
// Copyright 2017-2023 @polkadot/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { extensionsPolkadotJsSVG } from '../ui/logos/extensions';
|
||||
|
||||
type Browser = 'chrome' | 'firefox';
|
||||
|
||||
interface Extension {
|
||||
@ -13,27 +15,31 @@ interface Known {
|
||||
all: Record<Browser, string>;
|
||||
desc: string;
|
||||
name: string;
|
||||
uiLogo: string;
|
||||
}
|
||||
|
||||
// The list of known extensions including the links to tem on the store. This is used when
|
||||
// no extensions are actually available, promoting the user to install one or more
|
||||
// (Any known extension can and should be added here)
|
||||
|
||||
const known: Known[] = [
|
||||
{
|
||||
export const knownExtensions: Record<string, Known> = {
|
||||
'polksdot-js': {
|
||||
all: {
|
||||
chrome: 'https://chrome.google.com/webstore/detail/polkadot%7Bjs%7D-extension/mopnmbcafieddcagagdcbnhejhlodfdd',
|
||||
firefox: 'https://addons.mozilla.org/en-US/firefox/addon/polkadot-js-extension/'
|
||||
},
|
||||
desc: 'Basic account injection and signer',
|
||||
name: 'polkadot-js extension'
|
||||
name: 'polkadot-js extension',
|
||||
uiLogo: extensionsPolkadotJsSVG
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
export const availableExtensions = known.reduce<Record<Browser, Extension[]>>((available, { all, desc, name }) => {
|
||||
Object.entries(all).forEach(([browser, link]): void => {
|
||||
available[browser as Browser].push({ desc, link, name });
|
||||
});
|
||||
export const availableExtensions = Object
|
||||
.values(knownExtensions)
|
||||
.reduce((available: Record<Browser, Extension[]>, { all, desc, name }) => {
|
||||
Object.entries(all).forEach(([browser, link]): void => {
|
||||
available[browser as Browser].push({ desc, link, name });
|
||||
});
|
||||
|
||||
return available;
|
||||
}, { chrome: [], firefox: [] });
|
||||
return available;
|
||||
}, { chrome: [], firefox: [] });
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
import type { BN } from '@polkadot/util';
|
||||
import type { ExternalDef } from './types';
|
||||
|
||||
import { externalLogos } from '../ui/logos';
|
||||
import { externalCommonwealthPNG } from '../ui/logos/external';
|
||||
|
||||
const HASH_PATHS = ['proposal/councilmotion'];
|
||||
|
||||
@ -25,5 +25,5 @@ export const Commonwealth: ExternalDef = {
|
||||
democracyReferendum: 'proposal/referendum',
|
||||
treasury: 'proposal/treasuryproposal'
|
||||
},
|
||||
uiLogo: externalLogos.commonwealth as string
|
||||
uiLogo: externalCommonwealthPNG
|
||||
};
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
import type { BN } from '@polkadot/util';
|
||||
import type { ExternalDef } from './types';
|
||||
|
||||
import { externalLogos } from '../ui/logos';
|
||||
import { externalDotreasurySVG } from '../ui/logos/external';
|
||||
|
||||
export const Dotreasury: ExternalDef = {
|
||||
chains: {
|
||||
@ -20,5 +20,5 @@ export const Dotreasury: ExternalDef = {
|
||||
tip: 'tips',
|
||||
treasury: 'proposals'
|
||||
},
|
||||
uiLogo: externalLogos.dotreasury as string
|
||||
uiLogo: externalDotreasurySVG
|
||||
};
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
import type { BN } from '@polkadot/util';
|
||||
import type { ExternalDef } from './types';
|
||||
|
||||
import { externalLogos } from '../ui/logos';
|
||||
import { externalDotscannerPNG } from '../ui/logos/external';
|
||||
|
||||
export const DotScanner: ExternalDef = {
|
||||
chains: {
|
||||
@ -19,5 +19,5 @@ export const DotScanner: ExternalDef = {
|
||||
address: 'account',
|
||||
block: 'block'
|
||||
},
|
||||
uiLogo: externalLogos.dotscanner as string
|
||||
uiLogo: externalDotscannerPNG
|
||||
};
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
import type { BN } from '@polkadot/util';
|
||||
import type { ExternalDef } from './types';
|
||||
|
||||
import { externalLogos } from '../ui/logos';
|
||||
import { externalKodadotPNG } from '../ui/logos/external';
|
||||
|
||||
const getNetwork = (_chain: string) => {
|
||||
const chain = _chain === 'kusama' ? 'rmrk' : _chain;
|
||||
@ -26,5 +26,5 @@ export const KodaDot: ExternalDef = {
|
||||
paths: {
|
||||
address: 'account'
|
||||
},
|
||||
uiLogo: externalLogos.kodadot as string
|
||||
uiLogo: externalKodadotPNG
|
||||
};
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
import type { BN } from '@polkadot/util';
|
||||
import type { ExternalDef } from './types';
|
||||
|
||||
import { externalLogos } from '../ui/logos';
|
||||
import { externalPolkaholicPNG } from '../ui/logos/external';
|
||||
|
||||
export const Polkaholic: ExternalDef = {
|
||||
chains: {
|
||||
@ -67,5 +67,5 @@ export const Polkaholic: ExternalDef = {
|
||||
block: 'blockhash',
|
||||
extrinsic: 'tx'
|
||||
},
|
||||
uiLogo: externalLogos.polkaholic as string
|
||||
uiLogo: externalPolkaholicPNG
|
||||
};
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
import type { BN } from '@polkadot/util';
|
||||
import type { ExternalDef } from './types';
|
||||
|
||||
import { externalLogos } from '../ui/logos';
|
||||
import { externalPolkascanPNG } from '../ui/logos/external';
|
||||
|
||||
export const Polkascan: ExternalDef = {
|
||||
chains: {
|
||||
@ -27,5 +27,5 @@ export const Polkascan: ExternalDef = {
|
||||
techcomm: 'techcomm/proposal',
|
||||
treasury: 'treasury/proposal'
|
||||
},
|
||||
uiLogo: externalLogos.polkascan as string
|
||||
uiLogo: externalPolkascanPNG
|
||||
};
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
import type { BN } from '@polkadot/util';
|
||||
import type { ExternalDef } from './types';
|
||||
|
||||
import { externalLogos } from '../ui/logos';
|
||||
import { externalPolkassemblyPNG } from '../ui/logos/external';
|
||||
|
||||
export const PolkassemblyIo: ExternalDef = {
|
||||
chains: {
|
||||
@ -38,7 +38,7 @@ export const PolkassemblyIo: ExternalDef = {
|
||||
tip: 'tip',
|
||||
treasury: 'treasury'
|
||||
},
|
||||
uiLogo: externalLogos.polkassembly as string
|
||||
uiLogo: externalPolkassemblyPNG
|
||||
};
|
||||
|
||||
export const PolkassemblyNetwork: ExternalDef = {
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
import type { BN } from '@polkadot/util';
|
||||
import type { ExternalDef } from './types';
|
||||
|
||||
import { externalLogos } from '../ui/logos';
|
||||
import { externalPolkastatsPNG } from '../ui/logos/external';
|
||||
|
||||
// NOTE Not maintained, see breakage reports in
|
||||
// https://github.com/polkadot-js/apps/issues/8903
|
||||
@ -25,5 +25,5 @@ export const Polkastats: ExternalDef = {
|
||||
extrinsic: 'extrinsic',
|
||||
validator: 'validator'
|
||||
},
|
||||
uiLogo: externalLogos.polkastats as string
|
||||
uiLogo: externalPolkastatsPNG
|
||||
};
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
import type { BN } from '@polkadot/util';
|
||||
import type { ExternalDef } from './types';
|
||||
|
||||
import { externalLogos } from '../ui/logos';
|
||||
import { externalSingularSVG } from '../ui/logos/external';
|
||||
|
||||
const getNetwork = (_chain: string) => {
|
||||
switch (_chain) {
|
||||
@ -27,5 +27,5 @@ export const Singular: ExternalDef = {
|
||||
paths: {
|
||||
address: 'account'
|
||||
},
|
||||
uiLogo: externalLogos.singular as string
|
||||
uiLogo: externalSingularSVG
|
||||
};
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
import type { BN } from '@polkadot/util';
|
||||
import type { ExternalDef } from './types';
|
||||
|
||||
import { externalLogos } from '../ui/logos';
|
||||
import { externalStatescanSVG } from '../ui/logos/external';
|
||||
|
||||
export const Statescan: ExternalDef = {
|
||||
chains: {
|
||||
@ -20,5 +20,5 @@ export const Statescan: ExternalDef = {
|
||||
address: 'account',
|
||||
block: 'block'
|
||||
},
|
||||
uiLogo: externalLogos.statescan as string
|
||||
uiLogo: externalStatescanSVG
|
||||
};
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
import type { BN } from '@polkadot/util';
|
||||
import type { ExternalDef } from './types';
|
||||
|
||||
import { externalLogos } from '../ui/logos';
|
||||
import { externalSubidSVG } from '../ui/logos/external';
|
||||
|
||||
export const SubId: ExternalDef = {
|
||||
chains: {
|
||||
@ -31,5 +31,5 @@ export const SubId: ExternalDef = {
|
||||
paths: {
|
||||
address: 'account'
|
||||
},
|
||||
uiLogo: externalLogos.subid as string
|
||||
uiLogo: externalSubidSVG
|
||||
};
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
import type { BN } from '@polkadot/util';
|
||||
import type { ExternalDef } from './types';
|
||||
|
||||
import { externalLogos } from '../ui/logos';
|
||||
import { externalSubscanPNG } from '../ui/logos/external';
|
||||
|
||||
export const Subscan: ExternalDef = {
|
||||
chains: {
|
||||
@ -100,5 +100,5 @@ export const Subscan: ExternalDef = {
|
||||
treasury: 'treasury',
|
||||
validator: 'validator'
|
||||
},
|
||||
uiLogo: externalLogos.subscan as string
|
||||
uiLogo: externalSubscanPNG
|
||||
};
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
import type { BN } from '@polkadot/util';
|
||||
import type { ExternalDef } from './types';
|
||||
|
||||
import { externalLogos } from '../ui/logos';
|
||||
import { externalSubsquareSVG } from '../ui/logos/external';
|
||||
|
||||
export const Subsquare: ExternalDef = {
|
||||
chains: {
|
||||
@ -43,5 +43,5 @@ export const Subsquare: ExternalDef = {
|
||||
tip: 'treasury/tip',
|
||||
treasury: 'treasury/proposal'
|
||||
},
|
||||
uiLogo: externalLogos.subsquare as string
|
||||
uiLogo: externalSubsquareSVG
|
||||
};
|
||||
|
||||
@ -3,208 +3,81 @@
|
||||
|
||||
/* eslint sort-keys: ["error", "asc", { caseSensitive: false }] */
|
||||
|
||||
import nodeBasiliskRococo from './logos/nodes/basilisk-rococo-bg.png';
|
||||
import { sanitize } from './util';
|
||||
|
||||
// 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)
|
||||
|
||||
// defaults
|
||||
const emptyColor = '#99999';
|
||||
|
||||
// based on chain name
|
||||
// alphabetical
|
||||
const chainSherpax = '#6bbee8';
|
||||
const chain3dpass = '#323232';
|
||||
const chainAband = '#7358ff';
|
||||
const chainAcala = '#645AFF';
|
||||
const chainAcurastRococoTestnet = '#000000';
|
||||
const chainAjuna = '#161212';
|
||||
const chainAleph = '#00CCAB';
|
||||
const chainAltair = '#ffb700';
|
||||
const chainAmplitude = '#5DEFA7';
|
||||
const chainAmplitudeRococo = '#5DEFA7';
|
||||
const chainApron = 'linear-gradient(45deg, #0099F7 0%, #2E49EB 100%)';
|
||||
const chainAstar = '#1b6dc1d9';
|
||||
const chainTangle = '#483d8b';
|
||||
const chainTangleDev = '#0099ff';
|
||||
const chainAutomata = '#EC7032';
|
||||
const chainAutomataContextFree = '#EC7032';
|
||||
const chainBajun = '#161212';
|
||||
const chainBitCountry = '#191a2e';
|
||||
const chainBittensor = '#252525';
|
||||
const chainBitCountryPioneer = '#000000';
|
||||
const chainBasiliskTestnet = `url(${String(nodeBasiliskRococo)}) #000`;
|
||||
const chainBeastEave = '#900048';
|
||||
const chainBitgreen = '#224851';
|
||||
const chainBrainstorm = '#161616';
|
||||
const chainCalamari = '#000000';
|
||||
const chainCoinversation = '#e6017a';
|
||||
const chainCollectives = '#e6777a'; // '#dfcdfc';
|
||||
const chainCompetitorsClub = '#213830';
|
||||
const chainComposableFinance = '#C90E8A';
|
||||
const chainCrab = '#512DBC';
|
||||
const chainCreditcoin = '#2D353F';
|
||||
const chainCreditcoinTestnet = '#00DF83';
|
||||
const chainCrownSterling = '#13264b';
|
||||
const chainCrust = '#ff8812';
|
||||
const chainCrustMaxwell = '#2E333B';
|
||||
const chainClover = 'linear-gradient(to right, #52ad75, #7cc773)';
|
||||
const chainChainx = '#F6C94A';
|
||||
const chainDarwinia = '#FF0083';
|
||||
const chainDali = '#000000';
|
||||
const chainDeBio = '#FF56E0';
|
||||
const chainDolphin = '#000000';
|
||||
const chainDorafactory = '#FF761C';
|
||||
const chainDotMog = '#020609';
|
||||
const chainEfinity = '#496ddb';
|
||||
const chainEquilibrium = '#1792ff';
|
||||
const chainEthos = '#203050';
|
||||
const chainFantour = '#5a189a';
|
||||
const chainFerrum = '#b37700';
|
||||
const chainFrequency = '#4b64ff';
|
||||
const chainFrequencyRococo = '#29fd47';
|
||||
const chainGalital = '#00063F';
|
||||
const chainGalois = '#000000';
|
||||
const chainGamePower = '#5d21a5';
|
||||
const chainGenshiro = '#e8662d';
|
||||
const chainGM = '#f47b36';
|
||||
const chainHanonycash = '#0099CC';
|
||||
const chainHashed = '#9199A9';
|
||||
const chainHeiko = '#42d5de';
|
||||
const chainHydrate = '#000000';
|
||||
const chainIdavoll = '#ff43ff';
|
||||
const chainImbue = '#baff36';
|
||||
const chainInterbtc = '#1a0a2d';
|
||||
const chainInterlay = '#3E96FF';
|
||||
const chainIpse = '#08a1e8';
|
||||
const chainKabocha = 'repeating-radial-gradient(black, black 4px, yellow 5px)';
|
||||
const chainJupiter = '#7143ff';
|
||||
const chainKarura = '#ff4c3b';
|
||||
const chainKhala = '#03f3f3';
|
||||
const chainKintsugi = '#1a0a2d';
|
||||
const chainKlug = '#000000';
|
||||
const chainKulupu = '#003366';
|
||||
const chainKico = '#29B58D';
|
||||
const chainKico2 = '#29B58D';
|
||||
const chainKilt = '#8c145a';
|
||||
const chainKiltDev = '#f05a27';
|
||||
const chainKiltPeregrine = `linear-gradient(45deg, ${chainKiltDev} 0%, ${chainKilt} 100%)`;
|
||||
const chainKiltRilt = `linear-gradient(45deg, ${chainKilt} 0%, ${chainKiltDev} 100%)`;
|
||||
const chainKonomi = '#007aff';
|
||||
const chainKusama = '#000000';
|
||||
const chainKusamaDataHighway = 'linear-gradient(-90deg, #9400D3 0%, #5A5CA9 50%, #00BFFF 100%)';
|
||||
const chainKusari = '#b8860b';
|
||||
const chainKylin = '#ed007e';
|
||||
const chainListen = '#FFAD0A';
|
||||
const chainLitentry = 'linear-gradient(45deg, #5cc27c 0%, #6de98f 100%)';
|
||||
const chainLitentryRococo = '#0a6a08';
|
||||
const chainLitmus = '#6822fb';
|
||||
const chainLogion = 'rgb(21, 38, 101)';
|
||||
const chainLuhn = '#2F8E85';
|
||||
const chainMinix = '#5152f7';
|
||||
const chainManta = '#2070a6';
|
||||
const chainMangata = '#030408';
|
||||
const chainMd5 = '#3584e4';
|
||||
const chainMoonrock = '#3d1d5a';
|
||||
const chainMoonsama = '#000000';
|
||||
const chainMybank = '#282736';
|
||||
const chainMyriad = '#7342CC';
|
||||
const chainNFTMart = '#815287';
|
||||
const chainNodle = '#1ab394';
|
||||
const chainOAK = '#A8278C';
|
||||
const chainOLI = '#8CC63F';
|
||||
const chainOmniBTC = '#6759E9';
|
||||
const chainOpal = '#3B9C9D';
|
||||
const chainOriginTrail = '#FB5DEB';
|
||||
const chainOriginTrailTestnet = '#0C0C0C';
|
||||
const chainPangolin = '#4B30DD';
|
||||
const chainPangoro = '#4B30DD';
|
||||
const chainParallel = '#ef18ac';
|
||||
const chainParami = '#ee06e2';
|
||||
const chainPendulum = '#49E2FD';
|
||||
const chainPicasso = '#000000';
|
||||
const chainPichiu = '#ed007e';
|
||||
const chainPhala = '#c6fa4c';
|
||||
const chainPhoenix = '#d42181';
|
||||
const chainPolkadex = '#7C30DD';
|
||||
const chainPolkadot = '#e6007a';
|
||||
const chainPolkaFoundry = '#ff527c';
|
||||
const chainPolkaSmith = '#0DDDFB';
|
||||
const chainPontem = '#A92FAC';
|
||||
const chainPrism = 'linear-gradient(45deg, rgba(63,94,251,1) 0%, rgba(252,70,107,1) 100%)';
|
||||
const chainQuartz = '#FF4D6A';
|
||||
const chainRocco = '#6f36dc';
|
||||
const chainRoccoMandala = '#173DC9';
|
||||
const chainRoccoAres = '#70FF8B';
|
||||
const chainAresGladios = '#1295F0';
|
||||
const chainRoccoBifrost = '#5a25f0';
|
||||
const chainRococoContracts = '#000000';
|
||||
const chainRoccoDarwinia = '#FF0083';
|
||||
const chainRoccoDataHighway = 'linear-gradient(-90deg, #9400D3 0%, #5A5CA9 50%, #00BFFF 100%)';
|
||||
const chainRococoEave = '#900048';
|
||||
const chainRococoLaminar = '#004FFF';
|
||||
const chainRoccoTick = '#22bb22';
|
||||
const chainRoccoTrack = '#bb2222';
|
||||
const chainRoccoTrick = '#2222bb';
|
||||
const chainRiochain = '#4d87f6';
|
||||
const chainSakura = '#ff5995';
|
||||
const chainShadow = '#ffa940';
|
||||
const chainShiden = '#5923B2';
|
||||
const chainSkyeKiwi = '#6667ab';
|
||||
const chainSnakenet = '#f653a2';
|
||||
const chainSora = '#2D2926';
|
||||
const chainSpanner = '#EC3D3D';
|
||||
const chainStandard = 'background: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(42,170,244,1) 35%, rgba(10,10,10,1) 100%)';
|
||||
const chainSwapdex = '#E94082';
|
||||
const chainSubDAO = 'linear-gradient(50deg, #F20092 0%, #FF4D5D 100%)';
|
||||
const chainTinker = '#161616';
|
||||
const chainTinkerRococo = 'linear-gradient(90deg, rgba(253,52,166,1) 0%, rgba(22,213,239,1) 100%)';
|
||||
const chainTotem = 'linear-gradient(158deg, rgba(226,157,0,1) 0%, rgba(234,55,203,1) 100%)';
|
||||
const chainTrustBase = '#ff43aa';
|
||||
const chainTuring = '#A8278C';
|
||||
const chainT0rn = '#212322';
|
||||
const chainUniarts = 'linear-gradient(150deg, #333ef7 0%, #55adff 100%)';
|
||||
const chainUnique = '#40BCFF';
|
||||
const chainUnitNetwork = '#a351ef';
|
||||
const chainUnitv = '#1452F0';
|
||||
const chainUnorthodox = 'radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(42,244,187,1) 35%, rgba(10,10,10,1) 100%)';
|
||||
const chainVara = '#32e37d';
|
||||
const chainVirto = '#063970';
|
||||
const chainVln = '#33cc33';
|
||||
const chainWatr = '#373b39';
|
||||
const chainWeb3games = '#000000';
|
||||
const chainWestend = '#da68a7';
|
||||
const chainWestlake = 'linear-gradient(-90deg, #9400D3 0%, #5A5CA9 50%, #00BFFF 100%)';
|
||||
const chainWhala = '#03f3f3';
|
||||
const chainZero = '#000000';
|
||||
const chainZenlink = 'linear-gradient(45deg, #F20082 0%, #FF4D4D 100%)';
|
||||
const chainCESS = '#2269a9';
|
||||
const chainRiodefi = '#4E7AED';
|
||||
// based on node name
|
||||
// alphabetical
|
||||
const nodeAjuna = '#161212';
|
||||
const nodeApron = 'linear-gradient(45deg, #0099F7 0%, #2E49EB 100%)';
|
||||
const nodeAres = '#E56239';
|
||||
const nodeAstar = '#1b6dc1d9';
|
||||
const nodeAutomata = '#EC7032';
|
||||
const nodeAutomataContextFree = '#EC7032';
|
||||
const nodeBasilisk = '#49E49F';
|
||||
const nodeBajun = '#161212';
|
||||
const nodeBitCountry = '#191a2e';
|
||||
const nodeBifrost = '#5a25f0';
|
||||
const nodeCentrifuge = '#fcc367';
|
||||
const nodeCoinversation = '#e6017a';
|
||||
const nodeCompetitorsClub = '#213830';
|
||||
const nodeCrownSterling = '#13264b';
|
||||
const nodeDotMog = '#020609';
|
||||
const nodeEdgeware = '#111111';
|
||||
const nodeEfinity = '#496ddb';
|
||||
const nodeEncointer = '#0000cc';
|
||||
const nodeFantour = '#5a189a';
|
||||
const nodeGalital = '#00063F;';
|
||||
const nodeGamePower = '#5d21a5';
|
||||
const nodeGeek = '#4f46e5';
|
||||
const nodeHashed = '#59EAF6';
|
||||
const nodeHeiko = '#42d5de';
|
||||
const nodeImbue = '#baff36';
|
||||
@ -213,24 +86,18 @@ const nodeIpse = '#08a1e8';
|
||||
const nodeJaz = '#121212';
|
||||
const nodeJoystream = '#4038FF';
|
||||
const nodeJupiter = '#7143ff';
|
||||
const nodeKabocha = 'repeating-radial-gradient(black, black 4px, yellow 5px)';
|
||||
const nodeKonomi = '#007aff';
|
||||
const nodeKpron = 'linear-gradient(45deg, #0099F7 0%, #2E49EB 100%)';
|
||||
const nodeKylin = '#ed007e';
|
||||
const nodeKlug = '#663399';
|
||||
const nodeKusari = '#b8860b';
|
||||
const nodeLitentry = 'linear-gradient(45deg, #5cc27c 0%, #6de98f 100%)';
|
||||
const nodeLuhn = '#2DCE89';
|
||||
const nodeManta = '#2070a6';
|
||||
const nodeMathChain = '#000000';
|
||||
const nodeMd5 = '#175bae';
|
||||
const nodeMoonbeam = '#53cbc9';
|
||||
const nodeMoonbase = '#F45B5B';
|
||||
const nodeMoonriver = '#0E132E';
|
||||
const nodeMybank = '#282736';
|
||||
const nodeNFTMart = '#307182';
|
||||
const nodeNodle = '#1ab394';
|
||||
const nodeOdyssey = '#1295F0';
|
||||
const nodeOmniBTC = '#6759E9';
|
||||
const nodeOpportunity = '#6143bc';
|
||||
const nodePangolin = '#4B30DD';
|
||||
@ -238,69 +105,21 @@ const nodePangoro = '#4B30DD';
|
||||
const nodeParallel = '#ef18ac';
|
||||
const nodeParami = '#ee06e2';
|
||||
const nodePichiu = '#ed007e';
|
||||
const nodePolkadex = '#7C30DD';
|
||||
const nodePolymesh = '#1348e4';
|
||||
const nodePontem = '#A92FAC';
|
||||
const nodePrism = 'linear-gradient(45deg, rgba(63,94,251,1) 0%, rgba(252,70,107,1) 100%)';
|
||||
const nodeRealis = '#000000';
|
||||
const nodeRiochain = '#1A3BB3';
|
||||
const nodeRobonomics = '#2949d3';
|
||||
const nodeSora = '#2D2926';
|
||||
const nodeStafi = '#00F3AB';
|
||||
const nodeSubDAO = 'linear-gradient(50deg, #F20092 0%, #FF4D5D 100%)';
|
||||
const nodeSubsocial = '#b9018c';
|
||||
const nodeSubsocialX = '#69058C';
|
||||
const nodeSubspace = '#562b8e';
|
||||
const nodeSwapdex = '#E94082';
|
||||
const nodeTernoa = '#d622ff';
|
||||
const nodeUniarts = chainUniarts;
|
||||
const nodeUnitNetwork = '#a351ef';
|
||||
const nodeUnique = chainUnique;
|
||||
const nodeOpal = chainOpal;
|
||||
const nodeWeb3games = '#000000';
|
||||
const nodeWestlake = chainWestlake;
|
||||
const nodeZeitgeist = 'linear-gradient(180deg, rgba(32,90,172,1) 0%, rgba(26,72,138,1) 50%, rgba(13,36,69,1) 100%)';
|
||||
const nodeZero = '#0099cc';
|
||||
const nodeZenlink = 'linear-gradient(45deg, #F20082 0%, #FF4D4D 100%)';
|
||||
const nodeSubGame = '#EB027D';
|
||||
const nodeZCloak = 'linear-gradient(to right, #E89A76 0%, #C5B8CC 50%, #B0B4D7 100%)';
|
||||
const nodeCESS = '#2269a9';
|
||||
|
||||
// based on the spec name
|
||||
const specShell = '#2e86ab'; // '#0596FC';
|
||||
const specStatemine = '#113911';
|
||||
const specStatemint = '#86e62a';
|
||||
const specWestmint = '#77bb77';
|
||||
|
||||
export { emptyColor };
|
||||
|
||||
// Alphabetical overrides based on the actual matched chain name
|
||||
// NOTE: This is as retrieved via the system.chain RPC
|
||||
export const chainColors: Record<string, string> = Object.entries({
|
||||
'3DP testnet': chain3dpass,
|
||||
'3dpass - The Ledger of Things': chain3dpass,
|
||||
Aband: chainAband,
|
||||
Acala: chainAcala,
|
||||
'Acala Dev': chainAcala,
|
||||
'acala mandala pc1': chainRoccoMandala,
|
||||
'acala mandala pc2': chainRoccoMandala,
|
||||
'Acurast Rococo Testnet': chainAcurastRococoTestnet,
|
||||
'Ajuna Testnet': chainAjuna,
|
||||
'Aleph Zero': chainAleph,
|
||||
'Aleph Zero Testnet': chainAleph,
|
||||
Altair: chainAltair,
|
||||
Amplitude: chainAmplitude,
|
||||
'Amplitude Testnet': chainAmplitudeRococo,
|
||||
'Apron PC1': chainApron,
|
||||
'Ares Gladios': chainAresGladios,
|
||||
'Ares Odyssey': nodeOdyssey,
|
||||
'Ares PC1': chainRoccoAres,
|
||||
Astar: chainAstar,
|
||||
Automata: chainAutomata,
|
||||
'Automata ContextFree': chainAutomataContextFree,
|
||||
'Bajun Testnet': chainBajun,
|
||||
'Basilisk testnet': chainBasiliskTestnet,
|
||||
'Beast Developer': chainBeastEave,
|
||||
bifrost: chainRoccoBifrost,
|
||||
'Bifrost Asgard CC4': chainRoccoBifrost,
|
||||
'Bifrost K Rococo': chainRoccoBifrost,
|
||||
@ -308,67 +127,28 @@ export const chainColors: Record<string, string> = Object.entries({
|
||||
'Bifrost PC1': chainRoccoBifrost,
|
||||
'Bifrost Polkadot': chainRoccoBifrost,
|
||||
'Bifrost Stage Testnet': chainRoccoBifrost,
|
||||
'Bit.Country Tewai Chain': chainBitCountry,
|
||||
Bitgreen: chainBitgreen,
|
||||
BitgreenRococo: chainBitgreen,
|
||||
Bittensor: chainBittensor,
|
||||
'Bittensor Testnet': chainBittensor,
|
||||
'Calamari Parachain': chainCalamari,
|
||||
'Calamari Parachain Development': chainCalamari,
|
||||
'Calamari Parachain Local': chainCalamari,
|
||||
'Calamari Parachain Testnet': chainCalamari,
|
||||
Centrifuge: nodeCentrifuge,
|
||||
'CESS Testnet': chainCESS,
|
||||
ChainOLI: chainOLI,
|
||||
ChainX: chainChainx,
|
||||
Clover: chainClover,
|
||||
Coinversation: chainCoinversation,
|
||||
Collectives: chainCollectives,
|
||||
'Competitors Club': chainCompetitorsClub,
|
||||
'Composable Finance': chainComposableFinance,
|
||||
'Contracts on Rococo': chainRococoContracts,
|
||||
'Crab Parachain': chainCrab,
|
||||
Creditcoin: chainCreditcoin,
|
||||
'Creditcoin Testnet': chainCreditcoinTestnet,
|
||||
'Crown Sterling': chainCrownSterling,
|
||||
crust: chainCrust,
|
||||
'crust maxwell': chainCrustMaxwell,
|
||||
'Crust PC1': chainCrust,
|
||||
'Crust Testnet': chainCrust,
|
||||
'Dali Rococo': chainDali,
|
||||
'Dali Westend': chainDali,
|
||||
Darwinia: chainDarwinia,
|
||||
'darwinia cc1': chainDarwinia,
|
||||
'Darwinia Crab': chainCrab,
|
||||
'Darwinia Crab Redirect': chainCrab,
|
||||
'Darwinia Parachain': chainDarwinia,
|
||||
'Darwinia PC2': chainRoccoDarwinia,
|
||||
'DataHighway Spreehafen Rococo Parachain Testnet': chainRoccoDataHighway,
|
||||
'DataHighway Tanganika Kusama Parachain': chainKusamaDataHighway,
|
||||
DeBio: chainDeBio,
|
||||
'DeBio Testnet': chainDeBio,
|
||||
Dolphin: chainDolphin,
|
||||
'Dolphin Testnet': chainDolphin,
|
||||
'Dora Factory': chainDorafactory,
|
||||
'DOTMog.com NET': chainDotMog,
|
||||
Efinity: chainEfinity,
|
||||
Equilibrium: chainEquilibrium,
|
||||
'Equilibrium parachain': chainEquilibrium,
|
||||
EquilibriumTestnet: chainGenshiro,
|
||||
'Ethos Testnet': chainEthos,
|
||||
'Fantour Development': chainFantour,
|
||||
'Ferrum Testnet': chainFerrum,
|
||||
Frequency: chainFrequency,
|
||||
'Frequency Rococo': chainFrequencyRococo,
|
||||
Galital: chainGalital,
|
||||
'Galois-PoC-1': chainGalois,
|
||||
'GamePower Network': chainGamePower,
|
||||
Genshiro: chainGenshiro,
|
||||
'Genshiro Rococo Testnet': chainGenshiro,
|
||||
'GM Parachain': chainGM,
|
||||
'Halongbay PC1': chainPolkaFoundry,
|
||||
hanonycash: chainHanonycash,
|
||||
'Hashed Network': chainHashed,
|
||||
HydraDX: chainSnakenet,
|
||||
'HydraDX testnet': chainHydrate,
|
||||
Idavoll: chainIdavoll,
|
||||
@ -376,77 +156,33 @@ export const chainColors: Record<string, string> = Object.entries({
|
||||
InterBTC: chainInterbtc,
|
||||
'InterBTC Staging': chainInterbtc,
|
||||
Interlay: chainInterlay,
|
||||
'InvArch Brainstorm Testnet': chainBrainstorm,
|
||||
'InvArch Tinker Network': chainTinker,
|
||||
IpseTestnet: chainIpse,
|
||||
'Jupiter A1': chainJupiter,
|
||||
'Jupiter PC1': chainJupiter,
|
||||
Kabocha: chainKabocha,
|
||||
'Kabocha (kabsoup)': nodeKabocha,
|
||||
Kapex: chainTotem,
|
||||
Karura: chainKarura,
|
||||
Khala: chainKhala,
|
||||
KICO: chainKico,
|
||||
KICO2: chainKico2,
|
||||
KILT: chainKilt,
|
||||
'KILT Local': chainKiltDev,
|
||||
'KILT Peregrine': chainKiltPeregrine,
|
||||
'KILT Peregrine Stagenet': chainKiltDev,
|
||||
'KILT Spiritnet': chainKilt,
|
||||
'KILT Spiritnet Development': chainKiltDev,
|
||||
'KILT Testnet': chainKiltDev,
|
||||
Kintsugi: chainKintsugi,
|
||||
'KLUGDOSSIER.NET': chainKlug,
|
||||
Konomi: chainKonomi,
|
||||
Kpron: nodeKpron,
|
||||
Kulupu: chainKulupu,
|
||||
Kusama: chainKusama,
|
||||
'Kusama CC1': chainKusama,
|
||||
'Kusama CC2': chainKusama,
|
||||
'Kusama CC3': chainKusama,
|
||||
kusari: chainKusari,
|
||||
'Kylin Testnet': chainKylin,
|
||||
'laminar turbulence pc1': chainRococoLaminar,
|
||||
'Listen Network': chainListen,
|
||||
Litentry: chainLitentry,
|
||||
'Litentry-rococo': chainLitentryRococo,
|
||||
Litmus: chainLitmus,
|
||||
'Luhn Network': chainLuhn,
|
||||
'Mangata Kusama Mainnet': chainMangata,
|
||||
'Mangata Public Testnet': chainMangata,
|
||||
'Manta Parachain': chainManta,
|
||||
'Manta Parachain Development': chainManta,
|
||||
'Manta Parachain Local': chainManta,
|
||||
'Manta Parachain Testnet': chainManta,
|
||||
Mars: nodeAres,
|
||||
MathChain: nodeMathChain,
|
||||
'MathChain PC1': chainGalois,
|
||||
'MD5 Network': chainMd5,
|
||||
Minix: chainMinix,
|
||||
'Minix Testnet': chainMinix,
|
||||
'Moonbase Alpha': nodeMoonbase,
|
||||
'Moonbase Development Testnet': nodeMoonbase,
|
||||
'Moonbase Stage': nodeMoonbase,
|
||||
Moonbeam: nodeMoonbeam,
|
||||
Moonriver: nodeMoonriver,
|
||||
Moonrock: chainMoonrock,
|
||||
'Moonsama Development': chainMoonsama,
|
||||
Moonshadow: nodeMoonbeam,
|
||||
'mybank.network Testnet': chainMybank,
|
||||
Myriad: chainMyriad,
|
||||
'Myriad Testnet': chainMyriad,
|
||||
'Nakamoto Bittensor Mainnet': chainBittensor,
|
||||
'NFTMart Staging': chainNFTMart,
|
||||
'NFTMart Testnet': chainNFTMart,
|
||||
'Nodle Parachain': chainNodle,
|
||||
'Nodle Testing Parachain': chainNodle,
|
||||
'OAK Network': chainOAK,
|
||||
Odyssey: nodeOdyssey,
|
||||
'OLI Parachain': chainOLI,
|
||||
OmniBTC: chainOmniBTC,
|
||||
'Opal Node': chainOpal,
|
||||
'OriginTrail Parachain': chainOriginTrail,
|
||||
'OriginTrail Parachain Testnet': chainOriginTrailTestnet,
|
||||
Pangolin: chainPangolin,
|
||||
'Pangolin Parachain': chainPangolin,
|
||||
Pangoro: chainPangoro,
|
||||
@ -455,82 +191,30 @@ export const chainColors: Record<string, string> = Object.entries({
|
||||
'Parami PC2': chainParami,
|
||||
Pendulum: chainPendulum,
|
||||
Phala: chainPhala,
|
||||
PHOENIX: chainPhoenix,
|
||||
Picasso: chainPicasso,
|
||||
'Pichiu Testnet': chainPichiu,
|
||||
'Pioneer Network': chainBitCountryPioneer,
|
||||
PolkaBTC: chainInterbtc,
|
||||
'Polkadex Testnet': chainPolkadex,
|
||||
Polkadot: chainPolkadot,
|
||||
'Polkadot CC1': chainPolkadot,
|
||||
PolkaSmith: chainPolkaSmith,
|
||||
'Pontem Testnet': chainPontem,
|
||||
'Prism PC1': chainPrism,
|
||||
'Prism Testnet': chainPrism,
|
||||
'QUARTZ by UNIQUE': chainQuartz,
|
||||
'ReAlis Network': nodeRealis,
|
||||
RILT: chainKiltRilt,
|
||||
'RioChain CC-1': chainRiochain,
|
||||
'Riochain Staging': chainRiochain,
|
||||
Riodefi: chainRiodefi,
|
||||
Robonomics: nodeRobonomics,
|
||||
Rococo: chainRocco,
|
||||
Sakura: chainSakura,
|
||||
Shadow: chainShadow,
|
||||
Sherpax: chainSherpax,
|
||||
'Sherpax Testnet': chainSherpax,
|
||||
Shiden: chainShiden,
|
||||
'SkyeKiwi Testnet Alpha': chainSkyeKiwi,
|
||||
'SORA Kusama': chainSora,
|
||||
'SORA Rococo': chainSora,
|
||||
Spanner: chainSpanner,
|
||||
Stagex: chainTotem,
|
||||
Standard: chainStandard,
|
||||
'Standard Kusama Parachain': chainUnorthodox,
|
||||
Statemine: specStatemine,
|
||||
'Statemine Test': specStatemine,
|
||||
Statemint: specStatemint,
|
||||
'Statemint Test': specStatemint,
|
||||
'Steam PC': chainRococoEave,
|
||||
SubDAO: chainSubDAO,
|
||||
'SubDAO PC1': chainSubDAO,
|
||||
'SubDAO Staging': chainSubDAO,
|
||||
subgame: nodeSubGame,
|
||||
'SubGame Gamma': nodeSubGame,
|
||||
'SubGame Staging': nodeSubGame,
|
||||
Subspace: nodeSubspace,
|
||||
Subzero: chainZero,
|
||||
swapdex: chainSwapdex,
|
||||
t0rn: chainT0rn,
|
||||
'Tangle Rococo': chainTangle,
|
||||
'Tangle Testnet': chainTangleDev,
|
||||
Tick: chainRoccoTick,
|
||||
'Tinkernet Rococo Testnet': chainTinkerRococo,
|
||||
Track: chainRoccoTrack,
|
||||
Trick: chainRoccoTrick,
|
||||
'TrustBase PC1': chainTrustBase,
|
||||
'Turing Network': chainTuring,
|
||||
'Turing Network (Staging)': chainTuring,
|
||||
'uni arts staging network': chainUniarts,
|
||||
'UniArts Mainnet': chainUniarts,
|
||||
'Unique Node': chainUnique,
|
||||
UNIT: chainUnitv,
|
||||
UnitNetwork: chainUnitNetwork,
|
||||
'Vara Network': chainVara,
|
||||
VirtoRococo: chainVirto,
|
||||
'VLN PC': chainVln,
|
||||
Wapex: chainTotem,
|
||||
'Watr Network': chainWatr,
|
||||
'Web3Games Plum': chainWeb3games,
|
||||
Westend: chainWestend,
|
||||
Westlake: chainWestlake,
|
||||
Westmint: specWestmint,
|
||||
'Westmint Test': specWestmint,
|
||||
Whala: chainWhala,
|
||||
WILT: chainKilt,
|
||||
'zcloak poc1': nodeZCloak,
|
||||
'Zenlink PC1': chainZenlink,
|
||||
'ZERO.IO': chainZero
|
||||
'Zenlink PC1': chainZenlink
|
||||
}).reduce<Record<string, string>>((colors, [chain, color]) => ({
|
||||
...colors,
|
||||
[sanitize(chain)]: color
|
||||
@ -539,76 +223,41 @@ export const chainColors: Record<string, string> = Object.entries({
|
||||
// Alphabetical overrides based on the actual software node type
|
||||
// NOTE: This is as retrieved via the system.name RPC
|
||||
export const nodeColors = Object.entries({
|
||||
Aband: chainAband,
|
||||
'Ajuna Node': nodeAjuna,
|
||||
'Apron Node': nodeApron,
|
||||
Astar: nodeAstar,
|
||||
'Automata ContextFree Node': nodeAutomataContextFree,
|
||||
'Automata Node': nodeAutomata,
|
||||
'Bajun Node': nodeBajun,
|
||||
Basilisk: nodeBasilisk,
|
||||
'Bifrost Node': nodeBifrost,
|
||||
'Bifrost Stage Testnet': nodeBifrost,
|
||||
'Bit.Country Node': nodeBitCountry,
|
||||
'Bitgreen Node': chainBitgreen,
|
||||
centrifuge: nodeCentrifuge,
|
||||
'centrifuge chain': nodeCentrifuge,
|
||||
'Centrifuge Chain Node': nodeCentrifuge,
|
||||
'CESS Testnet': nodeCESS,
|
||||
'Circuit Collator': chainT0rn,
|
||||
Coinversation: nodeCoinversation,
|
||||
'Competitors Club': nodeCompetitorsClub,
|
||||
'Crown Sterling': nodeCrownSterling,
|
||||
'DataHighway Spreehafen Rococo Parachain Testnet': chainRoccoDataHighway,
|
||||
'DataHighway Tanganika Kusama Parachain': chainKusamaDataHighway,
|
||||
DeBio: chainDeBio,
|
||||
'Dora Factory': chainDorafactory,
|
||||
'DOTMog Node': nodeDotMog,
|
||||
'edgeware node': nodeEdgeware,
|
||||
Efinity: nodeEfinity,
|
||||
'Encointer collator': nodeEncointer,
|
||||
'Encointer Node noTEE': nodeEncointer,
|
||||
'Fantour Development': nodeFantour,
|
||||
Galital: nodeGalital,
|
||||
'Galital Parachain Collator': nodeGalital,
|
||||
'GamePower Node': nodeGamePower,
|
||||
GEEK: nodeGeek,
|
||||
'GM Collator': chainGM,
|
||||
'Hashed Network': nodeHashed,
|
||||
'Imbue Parachain Collator': nodeImbue,
|
||||
'Integritee Collator': nodeIntegritee,
|
||||
'Integritee Node': nodeIntegritee,
|
||||
'InvArch Brainstorm Node': chainBrainstorm,
|
||||
'InvArch Tinkernet Node': chainTinker,
|
||||
IpseTestnet: nodeIpse,
|
||||
'Jaz Node': nodeJaz,
|
||||
'Joystream Node': nodeJoystream,
|
||||
Kabocha: chainKabocha,
|
||||
'Kabocha (kabsoup)': nodeKabocha,
|
||||
KICO: chainKico,
|
||||
KICO2: chainKico2,
|
||||
'Klug Dossier Node': nodeKlug,
|
||||
'Konomi Collator': nodeKonomi,
|
||||
'Kpron Collator': nodeKpron,
|
||||
kusari: nodeKusari,
|
||||
'Kylin Parachain Collator': nodeKylin,
|
||||
'Listen Network': chainListen,
|
||||
'Litentry node': nodeLitentry,
|
||||
'logion Collator': chainLogion,
|
||||
'Logion Node': chainLogion,
|
||||
'Luhn Collator': nodeLuhn,
|
||||
'Manta Collator': nodeManta,
|
||||
'Manta Node': nodeManta,
|
||||
MathChain: nodeMathChain,
|
||||
'MD5 Collator': nodeMd5,
|
||||
'Moonsama Development': chainMoonsama,
|
||||
'mybank.network node': nodeMybank,
|
||||
Myriad: chainMyriad,
|
||||
'NFTMart Staging': nodeNFTMart,
|
||||
'NFTMart Testnet': nodeNFTMart,
|
||||
'nodle chain node': nodeNodle,
|
||||
OmniBTC: nodeOmniBTC,
|
||||
'Opal Node': nodeOpal,
|
||||
'Opportunity Standalone Testnet': nodeOpportunity,
|
||||
Pangolin: nodePangolin,
|
||||
'Pangolin Parachain': nodePangolin,
|
||||
@ -618,56 +267,20 @@ export const nodeColors = Object.entries({
|
||||
'Parami Collator': nodeParami,
|
||||
'Patract Node': nodeJupiter,
|
||||
'Pichiu Parachain Collator': nodePichiu,
|
||||
'Polkadex Node': nodePolkadex,
|
||||
'Polymesh Node': nodePolymesh,
|
||||
'Pontem Node': nodePontem,
|
||||
'Prism Collator': nodePrism,
|
||||
'Prism Node': nodePrism,
|
||||
'ReAlis Network': nodeRealis,
|
||||
'Rio Defi Chain Node': nodeRiochain,
|
||||
'Riochain Staging': nodeRiochain,
|
||||
'Shiden Collator': chainShiden,
|
||||
SORA: nodeSora,
|
||||
'Stafi node': nodeStafi,
|
||||
'Statemine Collator': specStatemint,
|
||||
'Statemint Collator': specStatemint,
|
||||
SubDAO: nodeSubDAO,
|
||||
'SubDAO Collator': nodeSubDAO,
|
||||
'SubDAO Staging': nodeSubDAO,
|
||||
subgame: nodeSubGame,
|
||||
'SubGame Gamma': nodeSubGame,
|
||||
'SubGame Staging': nodeSubGame,
|
||||
'Subsocial Collator': nodeSubsocialX,
|
||||
'subsocial node': nodeSubsocial,
|
||||
Subspace: nodeSubspace,
|
||||
'subzero node': nodeZero,
|
||||
swapdex: nodeSwapdex,
|
||||
'Tangle Parachain': chainTangle,
|
||||
'Ternoa Node': nodeTernoa,
|
||||
'uni arts node': nodeUniarts,
|
||||
'UniArts Node': nodeUniarts,
|
||||
'Unique Node': nodeUnique,
|
||||
'UnitNetwork Node': nodeUnitNetwork,
|
||||
'Web3Games Node': nodeWeb3games,
|
||||
Westlake: nodeWestlake,
|
||||
'Westmint Collator': specWestmint,
|
||||
'zcloak node': nodeZCloak,
|
||||
'Zeitgeist Collator': nodeZeitgeist,
|
||||
'Zeitgeist Node': nodeZeitgeist,
|
||||
'Zenlink Collator': nodeZenlink
|
||||
}).reduce<Record<string, string>>((colors, [node, color]) => ({
|
||||
...colors,
|
||||
[sanitize(node)]: color
|
||||
}), {});
|
||||
|
||||
// Alphabetical overrides based on the actual software node type
|
||||
// NOTE: This is as retrieved via the system.name RPC
|
||||
export const specColors = Object.entries({
|
||||
shell: specShell,
|
||||
statemine: specStatemine,
|
||||
statemint: specStatemint,
|
||||
westmint: specWestmint
|
||||
}).reduce<Record<string, string>>((colors, [spec, color]) => ({
|
||||
...colors,
|
||||
[sanitize(spec)]: color
|
||||
}), {});
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
// Copyright 2017-2023 @polkadot/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { chainColors, nodeColors, specColors } from './colors';
|
||||
import { chainColors, nodeColors } from './colors';
|
||||
import { identityNodes, identitySpec } from './identityIcons';
|
||||
import { sanitize } from './util';
|
||||
|
||||
@ -15,10 +15,9 @@ export function getSystemIcon (systemName: string, specName: string): 'beachball
|
||||
) as 'substrate';
|
||||
}
|
||||
|
||||
export function getSystemColor (systemChain: string, systemName: string, specName: string): string | undefined {
|
||||
export function getSystemColor (systemChain: string, systemName: string): string | undefined {
|
||||
return (
|
||||
chainColors[sanitize(systemChain)] ||
|
||||
nodeColors[sanitize(systemName)] ||
|
||||
specColors[sanitize(specName)]
|
||||
nodeColors[sanitize(systemName)]
|
||||
);
|
||||
}
|
||||
|
||||
104
packages/apps-config/src/ui/logos/chains/index.ts
Normal file
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
12
packages/apps-config/src/ui/logos/extensions/index.ts
Normal file
@ -0,0 +1,12 @@
|
||||
// Copyright 2017-2023 @polkadot/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// do not edit
|
||||
// auto-generated by scripts/imgConvert.mjs
|
||||
|
||||
export const extensionsPolkadotJsSVG = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiIHN0YW5kYWxvbmU9InllcyI/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIxNSAxNSAxNDAgMTQwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxNzAgMTcwO3pvb206IDE7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5iZzB7ZmlsbDojRkY4QzAwfQoJLnN0MHtmaWxsOiNGRkZGRkY7fQo8L3N0eWxlPgo8Zz4KCTxjaXJjbGUgY2xhc3M9ImJnMCIgY3g9Ijg1IiBjeT0iODUiIHI9IjcwIi8+Cgk8Zz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNODUsMzQuN2MtMjAuOCwwLTM3LjgsMTYuOS0zNy44LDM3LjhjMCw0LjIsMC43LDguMywyLDEyLjNjMC45LDIuNywzLjksNC4yLDYuNywzLjNjMi43LTAuOSw0LjItMy45LDMuMy02LjcgYy0xLjEtMy4xLTEuNi02LjQtMS41LTkuN0M1OC4xLDU3LjYsNjkuNSw0Niw4My42LDQ1LjNjMTUuNy0wLjgsMjguNywxMS43LDI4LjcsMjcuMmMwLDE0LjUtMTEuNCwyNi40LTI1LjcsMjcuMiBjMCwwLTUuMywwLjMtNy45LDAuN2MtMS4zLDAuMi0yLjMsMC40LTMsMC41Yy0wLjMsMC4xLTAuNi0wLjItMC41LTAuNWwwLjktNC40TDgxLDczLjRjMC42LTIuOC0xLjItNS42LTQtNi4yIGMtMi44LTAuNi01LjYsMS4yLTYuMiw0YzAsMC0xMS44LDU1LTExLjksNTUuNmMtMC42LDIuOCwxLjIsNS42LDQsNi4yYzIuOCwwLjYsNS42LTEuMiw2LjItNGMwLjEtMC42LDEuNy03LjksMS43LTcuOSBjMS4yLTUuNiw1LjgtOS43LDExLjItMTAuNGMxLjItMC4yLDUuOS0wLjUsNS45LTAuNWMxOS41LTEuNSwzNC45LTE3LjgsMzQuOS0zNy43QzEyMi44LDUxLjYsMTA1LjgsMzQuNyw4NSwzNC43eiBNODcuNywxMjEuNyBjLTMuNC0wLjctNi44LDEuNC03LjUsNC45Yy0wLjcsMy40LDEuNCw2LjgsNC45LDcuNWMzLjQsMC43LDYuOC0xLjQsNy41LTQuOUM5My4zLDEyNS43LDkxLjIsMTIyLjQsODcuNywxMjEuN3oiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K';
|
||||
|
||||
// preload all
|
||||
[extensionsPolkadotJsSVG].forEach((src): void => {
|
||||
new Image().src = src;
|
||||
});
|
||||
|
Before Width: | Height: | Size: 377 B After Width: | Height: | Size: 377 B |
25
packages/apps-config/src/ui/logos/external/index.ts
vendored
Normal file
@ -46,7 +46,6 @@ import chainKabocha from './chains/kabocha.svg';
|
||||
import chainKarura from './chains/karura.svg';
|
||||
import chainKico from './chains/kico.png';
|
||||
import chainKintsugi from './chains/kintsugi.png';
|
||||
import chainKusama from './chains/kusama.svg';
|
||||
import chainListen from './chains/listen.png';
|
||||
import chainLogion from './chains/logion.png';
|
||||
import chainLuhn from './chains/luhn.png';
|
||||
@ -76,32 +75,12 @@ import chainSnakenet from './chains/snakenet.svg';
|
||||
import chainSnowbridge from './chains/snowbridge.png';
|
||||
import chainSpanner from './chains/spanner.png';
|
||||
import chainStandard from './chains/standard.png';
|
||||
import chainT0rn from './chains/t0rn.png';
|
||||
import chainKusamaDataHighway from './chains/tanganika.png';
|
||||
import chainTangle from './chains/tangle.png';
|
||||
import chainTinker from './chains/tinker.png';
|
||||
import nodeTotem from './chains/totem.svg';
|
||||
import chainTuring from './chains/turing.png';
|
||||
import chainUnique from './chains/unique.svg';
|
||||
import chainUnorthodox from './chains/unorthodox.png';
|
||||
import chainVara from './chains/vara.svg';
|
||||
import chainVirto from './chains/virto.png';
|
||||
import chainWatr from './chains/watr.png';
|
||||
import extensionPolkadotJs from './extensions/polkadot-js.svg';
|
||||
import externalCommonwealth from './external/commonwealth.png';
|
||||
import externalDotreasury from './external/dotreasury.svg';
|
||||
import externalDotScanner from './external/dotscanner.png';
|
||||
import externalKodaDot from './external/kodadot.png';
|
||||
import externalPolkaholic from './external/polkaholic.png';
|
||||
import externalPolkascan from './external/polkascan.png';
|
||||
import externalPolkassembly from './external/polkassembly.png';
|
||||
import externalPolkastats from './external/polkastats.png';
|
||||
import externalSingular from './external/singular.svg';
|
||||
import externalStatescan from './external/statescan.svg';
|
||||
import externalSubId from './external/subid.svg';
|
||||
import externalSubscan from './external/subscan.png';
|
||||
import externalSubsquare from './external/subsquare.svg';
|
||||
import nodeAjuna from './nodes/ajuna.png';
|
||||
import nodeApron from './nodes/apron.png';
|
||||
import nodeArctic from './nodes/arctic.png';
|
||||
import nodeAres from './nodes/ares.png';
|
||||
@ -116,7 +95,6 @@ import nodeBasilisk from './nodes/basilisk.png';
|
||||
import nodeBeast from './nodes/beast.svg';
|
||||
import nodeBifrost from './nodes/bifrost.svg';
|
||||
import nodeBitCountry from './nodes/bitcountry.png';
|
||||
import nodeBridgeHubBlack from './nodes/BridgeHubBlack.svg';
|
||||
import nodeCalamari from './nodes/calamari.png';
|
||||
import nodeCentrifuge from './nodes/centrifuge.png';
|
||||
import nodeCESS from './nodes/cess.png';
|
||||
@ -195,8 +173,6 @@ import nodePhoenix from './nodes/phoenix.png';
|
||||
import nodePichiu from './nodes/pichiu.png';
|
||||
import nodePioneerNetwork from './nodes/pioneer.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';
|
||||
@ -209,7 +185,6 @@ import nodeRobonomics from './nodes/robonomics.svg';
|
||||
import nodeRocfinity from './nodes/rocfinity.svg';
|
||||
import nodeSakura from './nodes/sakura.svg';
|
||||
import nodeShadow from './nodes/shadow.svg';
|
||||
import nodeShell from './nodes/shell.svg';
|
||||
import nodeSherpax from './nodes/sherpax.png';
|
||||
import nodeSingLavender from './nodes/singlavender.svg';
|
||||
import nodeSnow from './nodes/snow.png';
|
||||
@ -217,7 +192,6 @@ import nodeSoonsocial from './nodes/soonsocial.png';
|
||||
import nodeSoonsocialX from './nodes/soonsocialX.png';
|
||||
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 nodeSubGame from './nodes/subgame.svg';
|
||||
import nodeSubsocial from './nodes/subsocial.svg';
|
||||
@ -240,11 +214,9 @@ import nodeWestend from './nodes/westend_colour.svg';
|
||||
import nodeWestlake from './nodes/westlake.png';
|
||||
import nodeWhala from './nodes/whala.svg';
|
||||
import nodeZCloak from './nodes/zCloak.svg';
|
||||
import nodeZeitgeist from './nodes/zeitgeist.png';
|
||||
import nodeZenlink from './nodes/zenlink.svg';
|
||||
import nodeZero from './nodes/zero.svg';
|
||||
import emptyLogo from './empty.svg';
|
||||
// last-resort fallback, just something empty
|
||||
import { externalEmptySVG } from './external';
|
||||
|
||||
const chainWestendCollectives = { fa: 'people-group' };
|
||||
|
||||
@ -253,7 +225,6 @@ const chainWestendCollectives = { fa: 'people-group' };
|
||||
export const chainLogos = Object.entries({
|
||||
Aband: chainAband,
|
||||
'Acurast Rococo Testnet': chainAcurast,
|
||||
'Ajuna Testnet': nodeAjuna,
|
||||
'Aleph Zero': chainAleph,
|
||||
'Aleph Zero Testnet': chainAleph,
|
||||
Altair: chainAltair,
|
||||
@ -338,7 +309,6 @@ export const chainLogos = Object.entries({
|
||||
'InterBTC Staging': nodeInterBTC,
|
||||
Interlay: chainInterlay,
|
||||
'InvArch Brainstorm Testnet': chainBrainstorm,
|
||||
'InvArch Tinker Network': chainTinker,
|
||||
ipci: nodeIPCI,
|
||||
IpseTestnet: nodeIpse,
|
||||
'Jupiter A1': nodeJupiter,
|
||||
@ -360,11 +330,6 @@ export const chainLogos = Object.entries({
|
||||
KlugDossier: nodeKlug,
|
||||
Konomi: nodeKonomi,
|
||||
Kpron: nodeApron,
|
||||
Kusama: chainKusama, // new name after CC3
|
||||
'Kusama BridgeHub': nodeBridgeHubBlack,
|
||||
'Kusama CC1': chainKusama,
|
||||
'Kusama CC2': chainKusama,
|
||||
'Kusama CC3': chainKusama,
|
||||
kusari: nodeKusari,
|
||||
'Kylin Testnet': nodeKylin,
|
||||
'Listen Network': chainListen,
|
||||
@ -402,7 +367,6 @@ export const chainLogos = Object.entries({
|
||||
NFTMart: nodeNFTMart,
|
||||
'NFTMart Staging': nodeNFTMart,
|
||||
'NFTMart Testnet': nodeNFTMart,
|
||||
'OAK Network': chainOAK,
|
||||
Odyssey: nodeAresOdyssey,
|
||||
'OLI Parachain': chainOLI,
|
||||
OmniBTC: chainOmniBTC,
|
||||
@ -437,7 +401,6 @@ export const chainLogos = Object.entries({
|
||||
Robonomics: nodeRobonomics,
|
||||
Rocfinity: chainRocfinity,
|
||||
Rococo: chainRococo,
|
||||
'Rococo Bridgehub': nodeBridgeHubBlack,
|
||||
Sherpax: nodeSherpax,
|
||||
'Sherpax Testnet': nodeSherpax,
|
||||
Shiden: chainShiden,
|
||||
@ -451,9 +414,6 @@ export const chainLogos = Object.entries({
|
||||
'SORA Rococo': nodeSora,
|
||||
Spanner: chainSpanner,
|
||||
Stagex: nodeTotem,
|
||||
Statemine: nodeStatemine,
|
||||
'Statemine Test': nodeStatemine,
|
||||
'Statemint Test': nodeStatemine,
|
||||
'Steam PC': nodeEave,
|
||||
subdao: nodeSubDAO,
|
||||
'SubDAO PC1': nodeSubDAO,
|
||||
@ -466,7 +426,6 @@ export const chainLogos = Object.entries({
|
||||
subspace: nodeSubspace,
|
||||
Subzero: nodeZero,
|
||||
swapdex: nodeSwapdex,
|
||||
t0rn: chainT0rn,
|
||||
'Tangle Rococo': chainTangle,
|
||||
'Tangle Testnet': chainTangle,
|
||||
Tick: chainRococoTick,
|
||||
@ -474,7 +433,6 @@ export const chainLogos = Object.entries({
|
||||
Trick: chainRococoTrick,
|
||||
trustbase: nodeTrustBase,
|
||||
'TrustBase PC1': nodeTrustBase,
|
||||
turing: chainTuring,
|
||||
'uni arts staging network': nodeUniarts,
|
||||
'UniArts Mainnet': nodeUniarts,
|
||||
Unique: chainUnique,
|
||||
@ -483,23 +441,18 @@ export const chainLogos = Object.entries({
|
||||
'Unitv Network': nodeUnitv,
|
||||
Unorthodox: chainUnorthodox,
|
||||
'Vara Network': chainVara,
|
||||
VirtoRococo: chainVirto,
|
||||
Vln: nodeVln,
|
||||
'VLN PC': nodeVln,
|
||||
Wapex: nodeTotem,
|
||||
'Watr Network': chainWatr,
|
||||
'Web3Games Plum': nodeWeb3games,
|
||||
Westend: nodeWestend,
|
||||
'Westend BridgeHub': nodeBridgeHubBlack,
|
||||
'Westend Collectives': chainWestendCollectives,
|
||||
Westlake: nodeWestlake,
|
||||
Westmint: nodeStatemine,
|
||||
'Westmint Test': nodeStatemine,
|
||||
WILT: nodeKilt,
|
||||
'zcloak poc1': nodeZCloak
|
||||
}).reduce<Record<string, unknown>>((logos, [chain, logo]) => ({
|
||||
}).reduce<Record<string, unknown>>((logos, [chain, external]) => ({
|
||||
...logos,
|
||||
[sanitize(chain)]: logo
|
||||
[sanitize(chain)]: external
|
||||
}), {});
|
||||
|
||||
// Alphabetical overrides based on the actual software node type
|
||||
@ -508,7 +461,6 @@ export const nodeLogos = Object.entries({
|
||||
Aband: chainAband,
|
||||
'Acala Node': chainAcala,
|
||||
'Acurast Parachain Collator': chainAcurast,
|
||||
'Ajuna Node': nodeAjuna,
|
||||
Amplitude: chainAmplitude,
|
||||
'Apron Node': nodeApron,
|
||||
'Apron Parachain Collator': nodeApron,
|
||||
@ -583,7 +535,6 @@ export const nodeLogos = Object.entries({
|
||||
'Integritee Node': nodeIntegritee,
|
||||
Interlay: chainInterlay,
|
||||
'InvArch Brainstorm Node': chainBrainstorm,
|
||||
'InvArch Tinkernet Node': chainTinker,
|
||||
IpseTestnet: nodeIpse,
|
||||
'Jaz Node': nodeJaz,
|
||||
'Joystream Node': nodeJoystream,
|
||||
@ -637,7 +588,6 @@ export const nodeLogos = Object.entries({
|
||||
'Parallel Heiko': nodeParallel,
|
||||
'Parallel Heiko Dev': nodeParallel,
|
||||
Parami: nodeParami,
|
||||
'parity-polkadot': nodePolkadot,
|
||||
'Patract Node': nodeJupiter,
|
||||
Pendulum: chainPendulum,
|
||||
Phala: nodePhala,
|
||||
@ -649,7 +599,6 @@ export const nodeLogos = Object.entries({
|
||||
'Pichiu Node': nodePichiu,
|
||||
'Pioneer Network Collator Node': nodePioneerNetwork,
|
||||
'Polkadex Node': nodePolkadex,
|
||||
'polkadot-js': nodePolkadotJs,
|
||||
'PolkaFoundry Node': nodePolkaFoundry,
|
||||
'PolkaFoundry Parachain Collator': nodePolkaFoundry,
|
||||
'PolkaSmith Parachain Collator': nodePolkaSmith,
|
||||
@ -672,8 +621,6 @@ export const nodeLogos = Object.entries({
|
||||
Sora: nodeSora,
|
||||
Stafi: nodeStafi,
|
||||
'Stafi Node': nodeStafi,
|
||||
'Statemine Collator': nodeStatemine,
|
||||
'Statemint Collator': nodeStatemine,
|
||||
subdao: nodeSubDAO,
|
||||
'SubDAO Collator': nodeSubDAO,
|
||||
'SubDAO Staging': nodeSubDAO,
|
||||
@ -685,7 +632,6 @@ export const nodeLogos = Object.entries({
|
||||
'substrate-node': nodeSubstrate,
|
||||
'subzero node': nodeZero,
|
||||
swapdex: nodeSwapdex,
|
||||
t0rn: chainT0rn,
|
||||
'Ternoa Node': nodeTernoa,
|
||||
'Totem Parachain Collator': nodeTotem,
|
||||
'TrustBase Collator': nodeTrustBase,
|
||||
@ -704,34 +650,18 @@ export const nodeLogos = Object.entries({
|
||||
'Web3Games Node': nodeWeb3games,
|
||||
Westend: nodeWestend,
|
||||
Westlake: nodeWestlake,
|
||||
'Westmint Collator': nodeStatemine,
|
||||
Whala: nodeWhala,
|
||||
'Whala Node': nodeWhala,
|
||||
WILT: nodeKilt,
|
||||
'zcloak node': nodeZCloak,
|
||||
'Zeitgeist Collator': nodeZeitgeist,
|
||||
'Zeitgeist Node': nodeZeitgeist,
|
||||
Zenlink: nodeZenlink,
|
||||
'Zenlink Collator': nodeZenlink
|
||||
}).reduce<Record<string, unknown>>((logos, [node, logo]) => ({
|
||||
}).reduce<Record<string, unknown>>((logos, [node, external]) => ({
|
||||
...logos,
|
||||
[sanitize(node)]: logo
|
||||
[sanitize(node)]: external
|
||||
}), {});
|
||||
|
||||
// Alphabetical overrides based on the actual specName
|
||||
export const specLogos = Object.entries({
|
||||
oak: chainOAK,
|
||||
shell: nodeShell,
|
||||
statemine: nodeStatemine,
|
||||
statemint: nodeStatemine,
|
||||
turing: chainTuring,
|
||||
westmint: nodeStatemine
|
||||
}).reduce<Record<string, unknown>>((logos, [spec, logo]) => ({
|
||||
...logos,
|
||||
[sanitize(spec)]: logo
|
||||
}), {});
|
||||
|
||||
// Alphabetical overrides when we pass an explicit logo name
|
||||
// Alphabetical overrides when we pass an explicit external 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)
|
||||
@ -740,9 +670,7 @@ export const namedLogos: Record<string, unknown> = {
|
||||
'3dpass-testnet': chain3dpass,
|
||||
aband: chainAband,
|
||||
acala: chainAcala,
|
||||
ajuna: nodeAjuna,
|
||||
aleph: chainAleph,
|
||||
alexander: nodePolkadot,
|
||||
altair: chainAltair,
|
||||
amplitude: chainAmplitude,
|
||||
arctic: nodeArctic,
|
||||
@ -795,7 +723,7 @@ export const namedLogos: Record<string, unknown> = {
|
||||
eave: nodeEave,
|
||||
edgeware: nodeEdgeware,
|
||||
efinity: nodeEfinity,
|
||||
empty: emptyLogo,
|
||||
empty: externalEmptySVG,
|
||||
encointer: nodeEncointer,
|
||||
equilibrium: chainEquilibrium,
|
||||
fantour: nodeFantour,
|
||||
@ -838,8 +766,6 @@ export const namedLogos: Record<string, unknown> = {
|
||||
klugdossier: nodeKlug,
|
||||
kpron: nodeApron,
|
||||
kulupu: nodeKulupu,
|
||||
kusama: chainKusama,
|
||||
kusamaBridgeHub: nodeBridgeHubBlack,
|
||||
kusari: nodeKusari,
|
||||
kylin: nodeKylin,
|
||||
laminar: nodeLaminar,
|
||||
@ -879,7 +805,6 @@ export const namedLogos: Record<string, unknown> = {
|
||||
picasso: chainPicasso,
|
||||
pichiu: nodePichiu,
|
||||
polkadex: nodePolkadex,
|
||||
polkadot: nodePolkadot,
|
||||
polkadotCollectives: chainWestendCollectives,
|
||||
polkafoundry: nodePolkaFoundry,
|
||||
polkasmith: nodePolkaSmith,
|
||||
@ -905,7 +830,6 @@ export const namedLogos: Record<string, unknown> = {
|
||||
rococoBifrost: nodeBifrost,
|
||||
rococoBitCountry: nodeBitCountry,
|
||||
rococoBitgreen: chainBitgreen,
|
||||
rococoBridgehub: nodeBridgeHubBlack,
|
||||
rococoCatalyst: nodeCentrifuge,
|
||||
rococoChainX: nodeChainx,
|
||||
rococoClover: nodeClover,
|
||||
@ -954,26 +878,19 @@ export const namedLogos: Record<string, unknown> = {
|
||||
rococoSora: nodeSora,
|
||||
rococoSpreehafen: chainRoccoDataHighway,
|
||||
rococoStandard: chainStandard,
|
||||
rococoStatemint: nodeStatemine,
|
||||
rococoSubDAO: nodeSubDAO,
|
||||
rococoSubsocial: nodeSoonsocialX,
|
||||
rococoSubzero: nodeZero,
|
||||
rococoTick: chainRococoTick,
|
||||
rococoTinkernet: chainTinker,
|
||||
rococoTrack: chainRococoTrack,
|
||||
rococoTrick: chainRococoTrick,
|
||||
rococoTrustBase: nodeTrustBase,
|
||||
rococoTuring: chainTuring,
|
||||
rococoUnitNetwork: nodeUnitNetwork,
|
||||
rococoUnitv: nodeUnitv,
|
||||
rococoVirto: chainVirto,
|
||||
rococoVln: nodeVln,
|
||||
rococoWatr: chainWatr,
|
||||
rococoZeitgeist: nodeZeitgeist,
|
||||
rococoZenlink: nodeZenlink,
|
||||
sakura: nodeSakura,
|
||||
shadow: nodeShadow,
|
||||
shell: nodeShell,
|
||||
sherpax: nodeSherpax,
|
||||
shibuya: chainShiden,
|
||||
shiden: chainShiden,
|
||||
@ -989,8 +906,6 @@ export const namedLogos: Record<string, unknown> = {
|
||||
spanner: chainSpanner,
|
||||
stafi: nodeStafi,
|
||||
stagex: nodeTotem,
|
||||
statemine: nodeStatemine,
|
||||
statemint: nodeStatemine,
|
||||
subdao: nodeSubDAO,
|
||||
'SubDAO PC1': nodeSubDAO,
|
||||
'SubDAO Staging': nodeSubDAO,
|
||||
@ -1006,7 +921,6 @@ export const namedLogos: Record<string, unknown> = {
|
||||
substrate: nodeSubstrate,
|
||||
substrateContractsNode: nodeSubstrateContractsNode,
|
||||
swapdex: nodeSwapdex,
|
||||
t0rn: chainT0rn,
|
||||
tanganika: chainKusamaDataHighway,
|
||||
tangle: chainTangle,
|
||||
ternoa: nodeTernoa,
|
||||
@ -1014,10 +928,8 @@ export const namedLogos: Record<string, unknown> = {
|
||||
'ternoa-testnet': nodeTernoa,
|
||||
'thebifrost-mainnet': nodeTheBifrost,
|
||||
'thebifrost-testnet': nodeTheBifrost,
|
||||
tinker: chainTinker,
|
||||
'totem-parachain': nodeTotem,
|
||||
trustbase: nodeTrustBase,
|
||||
turing: chainTuring,
|
||||
uniarts: nodeUniarts,
|
||||
unique: nodeUnique,
|
||||
unitnetwork: nodeUnitNetwork,
|
||||
@ -1028,47 +940,17 @@ export const namedLogos: Record<string, unknown> = {
|
||||
vln: nodeVln,
|
||||
web3games: nodeWeb3games,
|
||||
westend: nodeWestend,
|
||||
westendBridgeHub: nodeBridgeHubBlack,
|
||||
westendCollectives: chainWestendCollectives,
|
||||
westendPichiu: nodePichiu,
|
||||
westendStandard: chainStandard,
|
||||
westlake: nodeWestlake,
|
||||
westmint: nodeStatemine,
|
||||
whala: nodeWhala,
|
||||
zCloak: nodeZCloak,
|
||||
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,
|
||||
dotreasury: externalDotreasury,
|
||||
dotscanner: externalDotScanner,
|
||||
kodadot: externalKodaDot,
|
||||
polkaholic: externalPolkaholic,
|
||||
polkascan: externalPolkascan,
|
||||
polkassembly: externalPolkassembly,
|
||||
polkastats: externalPolkastats,
|
||||
singular: externalSingular,
|
||||
statescan: externalStatescan,
|
||||
subid: externalSubId,
|
||||
subscan: externalSubscan,
|
||||
subsquare: externalSubsquare
|
||||
};
|
||||
|
||||
// empty logos
|
||||
export const emptyLogos: Record<string, unknown> = {
|
||||
empty: emptyLogo
|
||||
};
|
||||
|
||||
// preload all
|
||||
[chainLogos, extensionLogos, externalLogos, namedLogos, nodeLogos, emptyLogos].forEach((imageSet): void => {
|
||||
[chainLogos, namedLogos, nodeLogos].forEach((imageSet): void => {
|
||||
Object.values(imageSet).forEach((src): void => {
|
||||
new Image().src = src as string;
|
||||
});
|
||||
|
||||
166
packages/apps-config/src/ui/logos/nodes/index.ts
Normal file
@ -1,7 +1,12 @@
|
||||
// Copyright 2017-2023 @polkadot/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { TOptions } from './types';
|
||||
import type { TOptions } from './types';
|
||||
|
||||
import { u8aToString } from '@polkadot/util';
|
||||
import { base64Decode, unzlibSync } from '@polkadot/wasm-util';
|
||||
|
||||
const HDR = ';base64,';
|
||||
|
||||
export function defaultT (keyOrText: string, text?: string, options?: TOptions): string {
|
||||
return (
|
||||
@ -14,3 +19,15 @@ export function defaultT (keyOrText: string, text?: string, options?: TOptions):
|
||||
keyOrText
|
||||
);
|
||||
}
|
||||
|
||||
export function unz (base64: string, lenIn: number, lenOut: number): string {
|
||||
return u8aToString(
|
||||
unzlibSync(
|
||||
base64Decode(
|
||||
base64.substring(HDR.length),
|
||||
new Uint8Array(lenIn)
|
||||
),
|
||||
new Uint8Array(lenOut)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@ -21,13 +21,13 @@ export const PORTAL_ID = 'portals';
|
||||
|
||||
function Apps ({ className = '' }: Props): React.ReactElement<Props> {
|
||||
const { themeClassName } = useTheme();
|
||||
const { isDevelopment, specName, systemChain, systemName } = useApi();
|
||||
const { apiEndpoint, isDevelopment, systemChain, systemName } = useApi();
|
||||
|
||||
const uiHighlight = useMemo(
|
||||
() => isDevelopment
|
||||
? undefined
|
||||
: getSystemColor(systemChain, systemName, specName),
|
||||
[isDevelopment, specName, systemChain, systemName]
|
||||
: apiEndpoint?.uiColor || getSystemColor(systemChain, systemName),
|
||||
[apiEndpoint, isDevelopment, systemChain, systemName]
|
||||
);
|
||||
|
||||
return (
|
||||
|
||||
@ -19,7 +19,7 @@ interface Props {
|
||||
value: Network;
|
||||
}
|
||||
|
||||
function NetworkDisplay ({ apiUrl, className = '', setApiUrl, value: { icon, isChild, isRelay, isUnreachable, name, nameRelay: relay, paraId, providers } }: Props): React.ReactElement<Props> {
|
||||
function NetworkDisplay ({ apiUrl, className = '', setApiUrl, value: { icon, isChild, isRelay, isUnreachable, name, nameRelay: relay, paraId, providers, uiLogo } }: Props): React.ReactElement<Props> {
|
||||
const { t } = useTranslation();
|
||||
const isSelected = useMemo(
|
||||
() => providers.some(({ url }) => url === apiUrl),
|
||||
@ -49,7 +49,7 @@ function NetworkDisplay ({ apiUrl, className = '', setApiUrl, value: { icon, isC
|
||||
<ChainImg
|
||||
className='endpointIcon'
|
||||
isInline
|
||||
logo={icon === 'local' ? 'empty' : (icon || 'empty')}
|
||||
logo={uiLogo || (icon === 'local' ? 'empty' : (icon || 'empty'))}
|
||||
withoutHl
|
||||
/>
|
||||
<div className='endpointValue'>
|
||||
|
||||
@ -60,7 +60,9 @@ function combineEndpoints (endpoints: LinkOption[]): Group[] {
|
||||
name: e.text as string,
|
||||
nameRelay: e.textRelay as string,
|
||||
paraId: e.paraId,
|
||||
providers: [prov]
|
||||
providers: [prov],
|
||||
uiColor: e.uiColor,
|
||||
uiLogo: e.uiLogo
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,7 +15,9 @@ export interface Network {
|
||||
providers: {
|
||||
name: string;
|
||||
url: string;
|
||||
}[]
|
||||
}[];
|
||||
uiColor?: string;
|
||||
uiLogo?: string;
|
||||
}
|
||||
|
||||
export interface Group {
|
||||
|
||||
@ -6,7 +6,8 @@ import type { ChainInfo } from '../types';
|
||||
import React, { useCallback, useMemo, useRef, useState } from 'react';
|
||||
import styled from 'styled-components';
|
||||
|
||||
import { emptyLogos, extensionLogos } from '@polkadot/apps-config';
|
||||
import { knownExtensions } from '@polkadot/apps-config';
|
||||
import { externalEmptySVG } from '@polkadot/apps-config/ui/logos/external';
|
||||
import { Button, Dropdown, Spinner, Table } from '@polkadot/react-components';
|
||||
import { useToggle } from '@polkadot/react-hooks';
|
||||
|
||||
@ -26,7 +27,7 @@ function Extensions ({ chainInfo, className }: Props): React.ReactElement<Props>
|
||||
const [isBusy, toggleBusy] = useToggle();
|
||||
const options = useMemo(
|
||||
() => (extensions || []).map(({ extension: { name, version } }, value) =>
|
||||
iconOption(`${name} ${version}`, value, extensionLogos[name] || emptyLogos.empty)),
|
||||
iconOption(`${name} ${version}`, value, (knownExtensions[name]?.uiLogo) || externalEmptySVG)),
|
||||
[extensions]
|
||||
);
|
||||
const _updateMeta = useCallback(
|
||||
|
||||
@ -13,7 +13,7 @@ import { formatBalance, isNumber } from '@polkadot/util';
|
||||
import { base64Encode } from '@polkadot/util-crypto';
|
||||
|
||||
function useChainInfoImpl (): ChainInfo | null {
|
||||
const { api, isApiReady, isEthereum, specName, systemChain, systemName } = useApi();
|
||||
const { api, apiEndpoint, isApiReady, isEthereum, specName, systemChain, systemName } = useApi();
|
||||
|
||||
return useMemo(
|
||||
() => isApiReady
|
||||
@ -22,7 +22,7 @@ function useChainInfoImpl (): ChainInfo | null {
|
||||
chainType: isEthereum
|
||||
? 'ethereum'
|
||||
: 'substrate',
|
||||
color: getSystemColor(systemChain, systemName, specName),
|
||||
color: apiEndpoint?.uiColor || getSystemColor(systemChain, systemName),
|
||||
genesisHash: api.genesisHash.toHex(),
|
||||
icon: getSystemIcon(systemName, specName),
|
||||
metaCalls: base64Encode(api.runtimeMetadata.asCallsOnly.toU8a()),
|
||||
@ -35,7 +35,7 @@ function useChainInfoImpl (): ChainInfo | null {
|
||||
types: getSpecTypes(api.registry, systemChain, api.runtimeVersion.specName, api.runtimeVersion.specVersion) as unknown as Record<string, string>
|
||||
}
|
||||
: null,
|
||||
[api, isApiReady, specName, systemChain, systemName, isEthereum]
|
||||
[api, apiEndpoint, isApiReady, specName, systemChain, systemName, isEthereum]
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -6,7 +6,8 @@ import type { IconName } from '@fortawesome/fontawesome-svg-core';
|
||||
import React, { useMemo } from 'react';
|
||||
import styled from 'styled-components';
|
||||
|
||||
import { chainLogos, emptyLogos, namedLogos, nodeLogos, specLogos } from '@polkadot/apps-config';
|
||||
import { chainLogos, namedLogos, nodeLogos } from '@polkadot/apps-config';
|
||||
import { externalEmptySVG } from '@polkadot/apps-config/ui/logos/external';
|
||||
import { useApi } from '@polkadot/react-hooks';
|
||||
|
||||
import Icon from './Icon';
|
||||
@ -24,19 +25,21 @@ function sanitize (value?: string): string {
|
||||
}
|
||||
|
||||
function ChainImg ({ className = '', isInline, logo, onClick, withoutHl }: Props): React.ReactElement<Props> {
|
||||
const { specName, systemChain, systemName } = useApi();
|
||||
const { apiEndpoint, systemChain, systemName } = useApi();
|
||||
const [isEmpty, img, isFa] = useMemo((): [boolean, unknown, boolean] => {
|
||||
const found = logo && logo !== 'empty'
|
||||
? namedLogos[logo]
|
||||
: chainLogos[sanitize(systemChain)] || nodeLogos[sanitize(systemName)] || specLogos[sanitize(specName)];
|
||||
const imgBase = found || emptyLogos.empty;
|
||||
? logo.startsWith('data:image/')
|
||||
? logo
|
||||
: namedLogos[logo]
|
||||
: apiEndpoint?.uiLogo || chainLogos[sanitize(systemChain)] || nodeLogos[sanitize(systemName)];
|
||||
const imgBase = found || externalEmptySVG;
|
||||
const isFa = !!((imgBase as Record<string, string>).fa);
|
||||
const img = isFa
|
||||
? (imgBase as Record<string, string>).fa
|
||||
: imgBase;
|
||||
|
||||
return [!found || logo === 'empty', img, isFa];
|
||||
}, [logo, specName, systemChain, systemName]);
|
||||
}, [apiEndpoint, logo, systemChain, systemName]);
|
||||
|
||||
const iconClassName = `${className} ui--ChainImg ${(isEmpty && !withoutHl) ? 'highlight--bg' : ''} ${isInline ? 'isInline' : ''}`;
|
||||
|
||||
|
||||
69
scripts/imgConvert.mjs
Normal file
@ -0,0 +1,69 @@
|
||||
// Copyright 2017-2023 @polkadot/apps authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import fs from 'node:fs';
|
||||
import path from 'node:path';
|
||||
|
||||
import { zlibSync } from 'fflate/node';
|
||||
|
||||
import { stringCamelCase } from '@polkadot/util';
|
||||
|
||||
const WITH_ZLIB = false;
|
||||
|
||||
const DIRS = ['extensions', 'external', 'chains', 'nodes'];
|
||||
|
||||
const MIME = {
|
||||
gif: 'image/gif',
|
||||
png: 'image/png',
|
||||
svg: 'image/svg+xml'
|
||||
}
|
||||
|
||||
for (let dir of DIRS) {
|
||||
const sub = path.join('packages/apps-config/src/ui/logos', dir);
|
||||
const result = {};
|
||||
|
||||
fs
|
||||
.readdirSync(sub)
|
||||
.forEach((file) => {
|
||||
const full = path.join(sub, file);
|
||||
|
||||
if (file !== 'index.ts' && fs.lstatSync(full).isFile()) {
|
||||
const parts = file.split('.');
|
||||
const ext = parts[parts.length - 1];
|
||||
const mime = MIME[ext];
|
||||
|
||||
if (!mime) {
|
||||
console.error(`Unable to determine mime for ${f}`);
|
||||
} else {
|
||||
const data = `data:${mime};base64,${fs.readFileSync(full).toString('base64')}`;
|
||||
const compressed = Buffer.from(zlibSync(Buffer.from(data), { level: 9 }));
|
||||
const base64 = compressed.toString('base64');
|
||||
|
||||
result[`${stringCamelCase(`${dir}_${parts.slice(0, parts.length - 1).join('_')}`)}${ext.toUpperCase()}`] = WITH_ZLIB
|
||||
? `unz(';base64,${base64}', ${compressed.length}, ${data.length})`
|
||||
: `'${data}'`;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (Object.keys(result).length) {
|
||||
fs.writeFileSync(path.join(sub, 'index.ts'), `// Copyright 2017-2023 @polkadot/apps-config authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// do not edit
|
||||
// auto-generated by scripts/imgConvert.mjs
|
||||
${
|
||||
WITH_ZLIB
|
||||
? "\nimport { unz } from '../../../util';\n"
|
||||
: ''
|
||||
}
|
||||
${Object.keys(result).sort().map((k) => `export const ${k} = ${result[k]};`).join('\n')}
|
||||
|
||||
// preload all
|
||||
[${Object.keys(result).sort().join(', ')}].forEach((src): void => {
|
||||
new Image().src = src;
|
||||
});
|
||||
`);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3269,6 +3269,7 @@ __metadata:
|
||||
"@polkadot/networks": ^10.3.1
|
||||
"@polkadot/types": ^9.13.6
|
||||
"@polkadot/util": ^10.3.1
|
||||
"@polkadot/wasm-util": ^6.4.1
|
||||
"@polkadot/x-fetch": ^10.3.1
|
||||
"@polymathnetwork/polymesh-types": 0.0.2
|
||||
"@snowfork/snowbridge-types": 0.2.7
|
||||
@ -4024,7 +4025,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/wasm-util@npm:6.4.1":
|
||||
"@polkadot/wasm-util@npm:6.4.1, @polkadot/wasm-util@npm:^6.4.1":
|
||||
version: 6.4.1
|
||||
resolution: "@polkadot/wasm-util@npm:6.4.1"
|
||||
dependencies:
|
||||
|
||||