packages/apps-config/src/endpoints/testingRelayRococo.ts
// Copyright 2017-2024 @polkadot/apps-config authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { EndpointOption } from './types.js';
import { ROCOCO_GENESIS } from '../api/constants.js';
import { chainsAcurastPNG, chainsAmplitudeSVG, chainsBitgreenPNG, chainsFrequencySVG, chainsGenshiroSVG, chainsHydratePNG, chainsIdiyanaleLogoWhiteSVG, chainsJurPNG, chainsMangataPNG, chainsMoonsamaPNG, chainsNeurowebTestnetPNG, chainsRococoSVG, chainsSnowbridgePNG, chainsT0rnPNG, chainsTinkerPNG, chainsTotemSVG, chainsTuringPNG, chainsVirtoPNG, chainsWatrPNG } from '../ui/logos/chains/index.js';
import { nodesArcticPNG, nodesAssetHubSVG, nodesAventusSVG, nodesBajunPNG, nodesBasiliskPNG, nodesBasiliskRococoBgPNG, nodesBifrostSVG, nodesBridgeHubBlackSVG, nodesCentrifugePNG, nodesConftiSVG, nodesCrustParachainSVG, nodesCurioSVG, nodesDatahighwayPNG, nodesDolphinSVG, nodesEncointerBlueSVG, nodesGiantPNG, nodesGiediPNG, nodesHelixstreetPNG, nodesHyperbridgeSVG, nodesImbuePNG, nodesIntegriteeSVG, nodesInvoPNG, nodesKabochaSVG, nodesKiltPNG, nodesLitentryRococoPNG, nodesMd5PNG, nodesMusePNG, nodesOliSVG, nodesOzPNG, nodesPangolinSVG, nodesPhalaSVG, nodesPicassoPNG, nodesPolkadexSVG, nodesRexSVG, nodesRobonomicsSVG, nodesRocfinitySVG, nodesSocietalSVG, nodesSoonsocialXPNG, nodesSoraSubstrateSVG, nodesSubstrateContractsNodePNG, nodesTrappistRococoPNG, nodesUnitnetworkPNG, nodesYerbanetworkPNG, nodesZeitgeistPNG, nodesZeroSVG } from '../ui/logos/nodes/index.js';
import { getTeleports } from './util.js';
// The available endpoints that will show in the dropdown. For the most part (with the exception of
// Polkadot) we try to keep this to live chains only, with RPCs hosted by the community/chain vendor
// info: The chain logo name as defined in ../ui/logos/index.ts in namedLogos (this also needs to align with @polkadot/networks)
// text: The text to display on the dropdown
// providers: The actual hosted secure websocket endpoint
//
// IMPORTANT: Alphabetical based on text
export const testParasRococo: Omit<EndpointOption, 'teleport'>[] = [
{
homepage: 'https://acurast.com',
info: 'rococoAcurast',
paraId: 2239,
providers: {
Acurast: 'wss://acurast-testnet-ws.prod.gke.papers.tech'
},
text: 'Acurast Testnet',
ui: {
color: '#000000',
logo: chainsAcurastPNG
}
},
{
info: 'rococoAmplitude',
paraId: 2124,
providers: {
PendulumChain: 'wss://rpc-foucoco.pendulumchain.tech'
},
text: 'Amplitude testnet (Foucoco)',
ui: {
color: '#5DEFA7',
logo: chainsAmplitudeSVG
}
},
{
info: 'arctic',
paraId: 3015,
providers: {
// Arctic: 'wss://arctic-rococo-rpc.icenetwork.io' // https://github.com/polkadot-js/apps/issues/9224
},
text: 'Arctic',
ui: {
logo: nodesArcticPNG
}
},
{
homepage: 'https://www.aventus.io/',
info: 'rococoAventus',
paraId: 2056,
providers: {
Aventus: 'wss://public-rpc.public-testnet.aventus.io'
},
text: 'Aventus',
ui: {
color: '#E6E6FA',
logo: nodesAventusSVG
}
},
{
info: 'rococoBajun',
paraId: 2119,
providers: {
AjunaNetwork: 'wss://rpc-rococo.bajun.network'
},
text: 'Bajun Network',
ui: {
color: '#161212',
logo: nodesBajunPNG
}
},
{
info: 'rococoBasilisk',
paraId: 2090,
providers: {
'Galactic Council': 'wss://basilisk-rococo-rpc.play.hydration.cloud'
},
text: 'Basilisk',
ui: {
color: `url(${nodesBasiliskRococoBgPNG}) #000`,
logo: nodesBasiliskPNG
}
},
{
info: 'rococoBifrost',
paraId: 2030,
providers: {
Liebi: 'wss://bifrost-rpc.rococo.liebi.com/ws'
},
text: 'Bifrost',
ui: {
color: '#5a25f0',
logo: nodesBifrostSVG
}
},
{
info: 'rococoBitgreen',
paraId: 20048,
providers: {
// Bitgreen: 'wss://staging.bitgreen.org' // https://github.com/polkadot-js/apps/issues/9369
},
text: 'Bitgreen',
ui: {
color: '#224851',
logo: chainsBitgreenPNG
}
},
{
info: 'rococoCatalyst',
paraId: 2031,
providers: {
// Centrifuge: 'wss://fullnode.catalyst.cntrfg.com' // https://github.com/polkadot-js/apps/issues/9748
},
text: 'Catalyst',
ui: {
logo: nodesCentrifugePNG
}
},
{
info: 'rococoConfti',
paraId: 4094,
providers: {
// Confti: 'wss://ws.confti.club' // https://github.com/polkadot-js/apps/issues/8036
},
text: 'Confti',
ui: {
logo: nodesConftiSVG
}
},
{
info: 'rococoCrust',
paraId: 2012,
providers: {
// Crust: 'wss://rococo-csm.crustcode.com/' // https://github.com/polkadot-js/apps/issues/9025
},
text: 'Crust Testnet',
ui: {
logo: nodesCrustParachainSVG
}
},
{
info: 'rococoCurio',
paraId: 3339,
providers: {
Curio: 'wss://testnet.parachain.curioinvest.com/'
},
text: 'Curio Testnet',
ui: {
color: 'rgb(96, 98, 246)',
logo: nodesCurioSVG
}
},
{
info: 'rococoDolphin',
paraId: 2084,
providers: {
// 'Manta Network': 'wss://ws.rococo.dolphin.engineering' // https://github.com/polkadot-js/apps/issues/9071
},
text: 'Dolphin',
ui: {
logo: nodesDolphinSVG
}
},
{
info: 'rococoEthos',
paraId: 2095,
providers: {
// Jur: 'wss://ethos.jur.io' // https://github.com/polkadot-js/apps/issues/10025
},
text: 'Ethos',
ui: {
color: '#203050',
logo: chainsJurPNG
}
},
{
info: 'rococoFrequency',
paraId: 4044,
providers: {
Dwellir: 'wss://frequency-rococo-rpc.dwellir.com',
Frequency: 'wss://rpc.rococo.frequency.xyz'
},
text: 'Frequency',
ui: {
color: '#544974',
logo: chainsFrequencySVG
}
},
{
info: 'rococoGenshiro',
paraId: 2024,
providers: {
// Equilibrium: 'wss://parachain-testnet.equilab.io/rococo/collator/node1/wss' // https://github.com/polkadot-js/apps/issues/9059
},
text: 'Genshiro Testnet',
ui: {
color: '#e8662d',
logo: chainsGenshiroSVG
}
},
{
info: 'giantTestnet',
paraId: 4227,
providers: {
// GIANT: 'wss://rpc-1-us-east-1-testnetrococo.giantprotocol.org' // https://github.com/polkadot-js/apps/issues/9261
},
text: 'GIANT Protocol',
ui: {
color: '#45B549',
logo: nodesGiantPNG
}
},
{
homepage: 'https://laosnetwork.io/',
info: 'rorocoLaos',
paraId: 4343,
providers: {
'Freeverse.io': 'wss://rpc.giedi.laosfoundation.io'
},
text: 'Giedi',
ui: {
color: '#dffe77',
logo: nodesGiediPNG
}
},
{
info: 'helixstreet',
paraId: 3025,
providers: {
// Helixstreet: 'wss://rpc-rococo.helixstreet.io' // https://github.com/polkadot-js/apps/issues/9296
},
text: 'Helixstreet',
ui: {
logo: nodesHelixstreetPNG
}
},
{
info: 'rococoHydraDX',
paraId: 2034,
providers: {
'Galactic Council': 'wss://hydradx-rococo-rpc.play.hydration.cloud'
},
text: 'HydraDX',
ui: {
color: '#f653a2',
logo: chainsHydratePNG
}
},
{
homepage: 'https://hyperbridge.network',
info: 'rococoHyperbridge',
paraId: 4374,
providers: {
BlockOps: 'wss://hyperbridge-gargantua-rpc.blockops.network'
},
text: 'Hyperbridge (Gargantua)',
ui: {
color: '#ED6FF1',
logo: nodesHyperbridgeSVG
}
},
{
info: 'rococoIdiyanale',
paraId: 4222,
providers: {
// 'Anagolay Network': 'wss://rococo.rpc.idiyanale.anagolay.io' // https://github.com/polkadot-js/apps/issues/9292
},
text: 'Idiyanale Network',
ui: {
color: 'linear-gradient(90deg, #23ACF6 0%, #6FD606 100%)',
logo: chainsIdiyanaleLogoWhiteSVG
}
},
{
info: 'rococoImbue',
paraId: 2121,
providers: {
// 'Imbue Network': 'wss://rococo.imbue.network' // https://github.com/polkadot-js/apps/issues/9947
},
text: 'Imbue Network',
ui: {
color: '#baff36',
logo: nodesImbuePNG
}
},
{
info: 'rococoIntegritee',
paraId: 3002,
providers: {
// Integritee: 'wss://rococo.api.integritee.network' // https://github.com/polkadot-js/apps/issues/10353
},
text: 'Integritee Network',
ui: {
color: '#658ea9',
logo: nodesIntegriteeSVG
}
},
{
homepage: 'https://ourinvo.com/',
info: 'rococoInvo',
paraId: 4377,
providers: {
'Invo Network': 'wss://chain.dev.ourinvo.com'
},
text: 'Invo Testnet',
ui: {
color: '#000000',
logo: nodesInvoPNG
}
},
{
info: 'rococoKabocha',
paraId: 2113,
providers: {
// JelliedOwl: 'wss://kabsoup1.jelliedowl.com' // https://github.com/polkadot-js/apps/issues/9059
},
text: 'Kabocha (kabsoup)',
ui: {
color: 'repeating-radial-gradient(black, black 4px, yellow 5px)',
logo: nodesKabochaSVG
}
},
{
homepage: 'https://polkadex.trade',
info: 'rococoKaizen',
paraId: 2040,
providers: {
// 'Polkadex Team': 'wss://kaizen-parachain.polkadex.trade' // https://github.com/polkadot-js/apps/issues/9059
},
text: 'Kaizen',
ui: {
color: '#7C30DD',
logo: nodesPolkadexSVG
}
},
{
homepage: 'https://www.litentry.com/',
info: 'rococoLitentry',
paraId: 2106,
providers: {
Litentry: 'wss://rpc.rococo-parachain.litentry.io'
},
text: 'Litentry',
ui: {
color: '#ECDA38',
logo: nodesLitentryRococoPNG
}
},
{
info: 'rococoMangata',
paraId: 2110,
providers: {
Mangata: 'wss://collator-01-ws-rococo.mangata.online'
},
text: 'Mangata',
ui: {
color: '#030408',
logo: chainsMangataPNG
}
},
{
info: 'rococoMd5',
paraId: 2093,
providers: {
'Hashed Systems': 'wss://c1md5.hashed.network'
},
text: 'MD5 Network',
ui: {
color: '#175bae',
logo: nodesMd5PNG
}
},
{
info: 'rococoMoonsama',
paraId: 2055,
providers: {
// Moonsama: 'wss://moonsama-testnet-rpc.moonsama.com' // https://github.com/polkadot-js/apps/issues/7526
},
text: 'Moonsama',
ui: {
color: '#000000',
logo: chainsMoonsamaPNG
}
},
{
info: 'rococoMuse',
paraId: 3369,
providers: {
Parity: 'wss://rococo-muse-rpc.polkadot.io'
},
text: 'Muse network',
ui: {
color: '#110ff9',
logo: nodesMusePNG
}
},
{
homepage: 'https://neuroweb.ai',
info: 'rococoNeuroWeb',
paraId: 2043,
providers: {
TraceLabs: 'wss://parachain-testnet-rpc.origin-trail.network/'
},
text: 'NeuroWeb Testnet',
ui: {
color: '#646566',
logo: chainsNeurowebTestnetPNG
}
},
{
homepage: 'https://www.my-oli.com/en/',
info: 'chainoli',
paraId: 4023,
providers: {},
text: 'OLI',
ui: {
color: '#8CC63F',
logo: nodesOliSVG
}
},
{
info: 'rococoOpenZeppelin',
paraId: 4354,
providers: {},
text: 'OpenZeppelin Runtime Template',
ui: {
color: '#f653a2',
logo: nodesOzPNG
}
},
{
info: 'rococoPangolin',
paraId: 2105,
providers: {
'Darwinia Network': 'wss://pangolin-rpc.darwinia.network'
},
text: 'Pangolin2',
ui: {
color: '#4B30DD',
logo: nodesPangolinSVG
}
},
{
info: 'rococoPicasso',
paraId: 2087,
providers: {
// Composable: 'wss://picasso-rococo-rpc-lb.composablenodes.tech' // https://github.com/polkadot-js/apps/issues/10103
},
text: 'Picasso Testnet',
ui: {
color: '#000000',
logo: nodesPicassoPNG
}
},
{
info: 'rococoEwx',
paraId: 3345,
providers: {
'Energy Web': 'wss://public-rpc.testnet.energywebx.com/'
},
text: 'REX',
ui: {
color: '#452E66',
logo: nodesRexSVG
}
},
{
info: 'rococoPhala',
paraId: 2004,
providers: {
'Phala Network': 'wss://rhala-node.phala.network/ws'
},
text: 'Rhala Testnet',
ui: {
logo: nodesPhalaSVG
}
},
{
info: 'rococoKilt',
paraId: 2086,
providers: {
// 'KILT Protocol': 'wss://rococo.kilt.io' // https://github.com/polkadot-js/apps/issues/9338
},
text: 'RILT',
ui: {
color: 'linear-gradient(45deg, #8c145a 0%, #f05a27 100%)',
logo: nodesKiltPNG
}
},
{
homepage: 'http://robonomics.network/',
info: 'robonomics',
paraId: 2048,
providers: {
// Airalab: 'wss://rococo.rpc.robonomics.network' // https://github.com/polkadot-js/apps/issues/9319
},
text: 'Robonomics',
ui: {
color: '#2949d3',
logo: nodesRobonomicsSVG
}
},
{
info: 'rocfinity',
paraId: 2021,
providers: {
// Efinity: 'wss://rpc.rococo.efinity.io' // https://github.com/polkadot-js/apps/issues/9059
},
text: 'Rocfinity',
ui: {
color: '#496ddb',
logo: nodesRocfinitySVG
}
},
{
info: 'snowbridgeAssetHub',
paraId: 3416,
providers: {
// Snowfork: 'wss://rococo-rpc.snowbridge.network/assethub' // https://github.com/polkadot-js/apps/issues/10091
},
text: 'Snowbridge Asset Hub',
ui: {
logo: chainsSnowbridgePNG
}
},
{
info: 'snowbridgeBridgeHub',
paraId: 3016,
providers: {
// Snowfork: 'wss://rococo-rpc.snowbridge.network/bridgehub' // https://github.com/polkadot-js/apps/issues/10091
},
text: 'Snowbridge Bridge Hub',
ui: {
logo: chainsSnowbridgePNG
}
},
{
info: 'rococoSocietal',
paraId: 4253,
providers: {
// Societal: 'wss://node-ws-rococo.testnet.sctl.link' // https://github.com/polkadot-js/apps/issues/9748
},
text: 'Societal',
ui: {
color: '#501254',
logo: nodesSocietalSVG
}
},
{
info: 'rococoSubsocial',
paraId: 2100,
providers: {
DappForce: 'wss://rco-para.subsocial.network'
},
text: 'SoonsocialX',
ui: {
color: '#b9018c',
logo: nodesSoonsocialXPNG
}
},
{
info: 'rococoSora',
paraId: 2011,
providers: {
Soramitsu: 'wss://ws.parachain-collator-1.c1.stg1.sora2.soramitsu.co.jp'
},
text: 'SORA',
ui: {
color: '#2D2926',
logo: nodesSoraSubstrateSVG
}
},
{
info: 'rococoSpreehafen',
paraId: 2116,
providers: {
// DataHighway: 'wss://spreehafen.datahighway.com' // https://github.com/polkadot-js/apps/issues/9601
},
text: 'Spreehafen',
ui: {
color: 'linear-gradient(-90deg, #9400D3 0%, #5A5CA9 50%, #00BFFF 100%)',
logo: nodesDatahighwayPNG
}
},
{
homepage: 'https://totemaccounting.com/',
info: 'stagex',
paraId: 2007,
providers: {
// Totem: 'wss://s-ui.kapex.network' // https://github.com/polkadot-js/apps/issues/9286
},
text: 'Stagex',
ui: {
color: 'linear-gradient(158deg, rgba(226,157,0,1) 0%, rgba(234,55,203,1) 100%)',
logo: chainsTotemSVG
}
},
{
info: 'rococoSubzero',
paraId: 4040,
providers: {
// ZERO: 'wss://staging.para.sub.zero.io' // https://github.com/polkadot-js/apps/issues/9522
},
text: 'Subzero',
ui: {
logo: nodesZeroSVG
}
},
{
info: 't0rn',
paraId: 3333,
providers: {
t3rn: 'wss://rpc.t0rn.io'
},
text: 't0rn',
ui: {
color: '#212322',
logo: chainsT0rnPNG
}
},
{
info: 'rococoTinkernet',
paraId: 2125,
providers: {
// 'InvArch Team': 'wss://rococo.invarch.network' // https://github.com/polkadot-js/apps/issues/8266
},
text: 'Tinkernet',
ui: {
color: 'linear-gradient(90deg, rgba(253,52,166,1) 0%, rgba(22,213,239,1) 100%)',
logo: chainsTinkerPNG
}
},
{
info: 'rococoTrappist',
paraId: 1836,
providers: {
Parity: 'wss://rococo-trappist-rpc.polkadot.io'
},
text: 'Trappist',
ui: {
color: '#000000',
logo: nodesTrappistRococoPNG
}
},
{
info: 'rococoTuring',
paraId: 2114,
providers: {
OAK: 'wss://rpc.turing-staging.oak.tech'
},
text: 'Turing Network (Staging)',
ui: {
color: '#A8278C',
logo: chainsTuringPNG
}
},
{
info: 'rococoUnitNetwork',
paraId: 4168,
providers: {
// UnitNetwork: 'wss://www.unitnode3.info:443' // https://github.com/polkadot-js/apps/issues/9609
},
text: 'Unit Network',
ui: {
color: '#a351ef',
logo: nodesUnitnetworkPNG
}
},
{
info: 'rococoVirto',
paraId: 3003,
providers: {
// VirtoNetwork: 'wss://rococo.virtonetwork.xyz' // https://github.com/polkadot-js/apps/issues/8024
},
text: 'Virto',
ui: {
color: '#063970',
logo: chainsVirtoPNG
}
},
{
info: 'rococoWatr',
paraId: 2058,
providers: {
Watr: 'wss://rpc.dev.watr.org'
},
text: 'Watr Network',
ui: {
color: '#373b39',
logo: chainsWatrPNG
}
},
{
info: 'rococoYerba',
paraId: 4292,
providers: {
Yerba: 'wss://rpc.dev.yerba.network'
},
text: 'Yerba Network',
ui: {
color: '#4f6f4b',
logo: nodesYerbanetworkPNG
}
},
{
info: 'rococoZeitgeist',
paraId: 2101,
providers: {
Zeitgeist: 'wss://bsr.zeitgeist.pm'
},
text: 'Zeitgeist Battery Station',
ui: {
color: 'linear-gradient(180deg, rgba(32,90,172,1) 0%, rgba(26,72,138,1) 50%, rgba(13,36,69,1) 100%)',
logo: nodesZeitgeistPNG
}
}
];
export const testParasRococoCommon: EndpointOption[] = [
{
info: 'RococoAssetHub',
paraId: 1000,
providers: {
Dwellir: 'wss://rococo-asset-hub-rpc.dwellir.com',
Parity: 'wss://rococo-asset-hub-rpc.polkadot.io'
},
teleport: [-1],
text: 'AssetHub',
ui: {
color: '#77bb77',
logo: nodesAssetHubSVG
}
},
{
info: 'rococoBridgehub',
paraId: 1013,
providers: {
Dwellir: 'wss://rococo-bridge-hub-rpc.dwellir.com',
Parity: 'wss://rococo-bridge-hub-rpc.polkadot.io'
},
teleport: [-1],
text: 'Bridgehub',
ui: {
logo: nodesBridgeHubBlackSVG
}
},
{
info: 'rococoContracts',
paraId: 1002,
providers: {
Parity: 'wss://rococo-contracts-rpc.polkadot.io'
},
teleport: [-1],
text: 'Contracts',
ui: {
color: '#000000',
logo: nodesSubstrateContractsNodePNG
}
},
{
info: 'rococoCoretime',
paraId: 1005,
providers: {
Parity: 'wss://rococo-coretime-rpc.polkadot.io'
},
teleport: [-1],
text: 'Coretime',
ui: {}
},
{
homepage: 'https://encointer.org/',
info: 'encointer',
paraId: 1003,
providers: {
'Encointer Association': 'wss://rococo.api.encointer.org'
},
teleport: [-1],
text: 'Encointer Lietaer',
ui: {
color: '#0000cc',
logo: nodesEncointerBlueSVG
}
},
{
info: 'rococoPeople',
paraId: 1004,
providers: {
Parity: 'wss://rococo-people-rpc.polkadot.io'
},
teleport: [-1],
text: 'People',
ui: { }
}
];
export const testRelayRococo: EndpointOption = {
dnslink: 'rococo',
genesisHash: ROCOCO_GENESIS,
info: 'rococo',
linked: [
...testParasRococoCommon,
...testParasRococo
],
providers: {
Parity: 'wss://rococo-rpc.polkadot.io',
// 'Ares Protocol': 'wss://rococo.aresprotocol.com' // https://github.com/polkadot-js/apps/issues/5767
'light client': 'light://substrate-connect/rococo'
},
teleport: getTeleports(testParasRococoCommon),
text: 'Rococo',
ui: {
color: '#6f36dc',
identityIcon: 'polkadot',
logo: chainsRococoSVG
}
};