diff --git a/packages/apps-config/src/endpoints/production.ts b/packages/apps-config/src/endpoints/production.ts index 8eecd12e51..4d290183c5 100644 --- a/packages/apps-config/src/endpoints/production.ts +++ b/packages/apps-config/src/endpoints/production.ts @@ -15,108 +15,118 @@ import { expandEndpoints } from './util'; // value: The actual hosted secure websocket endpoint export function createProduction (t: TFunction): LinkOption[] { - return [ + return expandEndpoints(t, [ // fixed, polkadot - ...expandEndpoints(t, [ - { - dnslink: 'polkadot', - info: 'polkadot', - text: t('rpc.polkadot.parity', 'Polkadot', { ns: 'apps-config' }), - providers: { - Parity: 'wss://rpc.polkadot.io', - 'Web3 Foundation': 'wss://cc1-1.polkadot.network', - OnFinality: 'wss://polkadot.api.onfinality.io/public-ws', - 'Patract Elara': 'wss://polkadot.elara.patract.io' - } - }, - { - dnslink: 'kusama', - info: 'kusama', - text: t('rpc.kusama.parity', 'Kusama', { ns: 'apps-config' }), - providers: { - Parity: 'wss://kusama-rpc.polkadot.io', - 'Web3 Foundation': 'wss://cc3-5.kusama.network', - OnFinality: 'wss://kusama.api.onfinality.io/public-ws', - 'Patract Elara': 'wss://kusama.elara.patract.io' - } + { + dnslink: 'polkadot', + info: 'polkadot', + text: t('rpc.polkadot.parity', 'Polkadot', { ns: 'apps-config' }), + providers: { + Parity: 'wss://rpc.polkadot.io', + 'Web3 Foundation': 'wss://cc1-1.polkadot.network', + OnFinality: 'wss://polkadot.api.onfinality.io/public-ws', + 'Patract Elara': 'wss://polkadot.elara.patract.io' } - ]), + }, + { + dnslink: 'kusama', + info: 'kusama', + text: t('rpc.kusama.parity', 'Kusama', { ns: 'apps-config' }), + providers: { + Parity: 'wss://kusama-rpc.polkadot.io', + 'Web3 Foundation': 'wss://cc3-5.kusama.network', + OnFinality: 'wss://kusama.api.onfinality.io/public-ws', + 'Patract Elara': 'wss://kusama.elara.patract.io' + } + }, // alphabetical based on chain name { dnslink: 'centrifuge', info: 'centrifuge', text: t('rpc.centrifuge', 'Centrifuge', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Centrifuge' } }), - value: 'wss://fullnode.centrifuge.io' + providers: { + Centrifuge: 'wss://fullnode.centrifuge.io' + } }, { info: 'crab', text: t('rpc.crab', 'Darwinia Crab', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Darwinia Network' } }), - value: 'wss://crab.darwinia.network' + providers: { + 'Darwinia Network': 'wss://crab.darwinia.network' + } }, { info: 'darwinia', text: t('rpc.darwinia', 'Darwinia', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Darwinia Network' } }), - value: 'wss://cc1.darwinia.network' + providers: { + 'Darwinia Network': 'wss://cc1.darwinia.network' + } }, { info: 'dock-mainnet', text: t('rpc.dock-mainnet', 'Dock Mainnet', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Dock Association' } }), - value: 'wss://mainnet-node.dock.io' + providers: { + 'Dock Association': 'wss://mainnet-node.dock.io' + } }, { dnslink: 'edgeware', info: 'edgeware', text: t('rpc.edgeware', 'Edgeware', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Commonwealth Labs' } }), - value: 'wss://mainnet4.edgewa.re' + providers: { + 'Commonwealth Labs': 'wss://mainnet4.edgewa.re' + } }, { info: 'equilibrium', text: t('rpc.equilibrium', 'Equilibrium Mainnet', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Equilibrium' } }), - value: 'wss://tge.equilibrium.io' + providers: { + Equilibrium: 'wss://tge.equilibrium.io' + } }, { info: 'hanonycash', text: t('rpc.hanonycash', 'Hanonycash', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'hanonycash' } }), - value: 'wss://rpc.hanonycash.com' + providers: { + Hanonycash: 'wss://rpc.hanonycash.com' + } }, { dnslink: 'kulupu', info: 'kulupu', text: t('rpc.kulupu', 'Kulupu', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Kulupu' } }), - value: 'wss://rpc.kulupu.corepaper.org/ws' + providers: { + Kulupu: 'wss://rpc.kulupu.corepaper.org/ws' + } }, { info: 'nodle', text: t('rpc.nodle-main', 'Nodle Main', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Nodle' } }), - value: 'wss://main1.nodleprotocol.io' + providers: { + Nodle: 'wss://main1.nodleprotocol.io' + } }, { info: 'plasm', text: t('rpc.plasm', 'Plasm', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Stake Technologies' } }), - value: 'wss://rpc.plasmnet.io/' + providers: { + 'Stake Technologies': 'wss://rpc.plasmnet.io/' + } }, { info: 'stafi', isDisabled: true, // Cannot find type ChainId text: t('rpc.stafi', 'Stafi', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Stafi Foundation' } }), - value: 'wss://mainnet-rpc.stafi.io' + providers: { + 'Stafi Foundation': 'wss://mainnet-rpc.stafi.io' + } }, { info: 'subsocial', text: t('rpc.subsocial', 'Subsocial', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'DappForce' } }), - value: 'wss://rpc.subsocial.network' + providers: { + DappForce: 'wss://rpc.subsocial.network' + } } - ]; + ]); } diff --git a/packages/apps-config/src/endpoints/testing.ts b/packages/apps-config/src/endpoints/testing.ts index 50fd2fb853..be6a1eb65f 100644 --- a/packages/apps-config/src/endpoints/testing.ts +++ b/packages/apps-config/src/endpoints/testing.ts @@ -5,6 +5,9 @@ import type { TFunction } from 'i18next'; import type { LinkOption } from '../settings/types'; import { createRococo } from './testingRococo'; +import { expandEndpoints } from './util'; + +/* eslint-disable sort-keys */ // 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 @@ -13,168 +16,194 @@ import { createRococo } from './testingRococo'; // value: The actual hosted secure websocket endpoint export function createTesting (t: TFunction): LinkOption[] { - return [ + return expandEndpoints(t, [ // polkadot test relays - ...createRococo(t), + createRococo(t), // alphabetical based on chain name { info: 'centrifuge', text: t('rpc.amber', 'Amber', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Centrifuge' } }), - value: 'wss://fullnode.amber.centrifuge.io' + providers: { + Centrifuge: 'wss://fullnode.amber.centrifuge.io' + } }, { info: 'nodle', text: t('rpc.nodle-arcadia', 'Arcadia', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Nodle' } }), - value: 'wss://arcadia1.nodleprotocol.io' + providers: { + Nodle: 'wss://arcadia1.nodleprotocol.io' + } }, { info: 'edgeware', text: t('rpc.beresheet', 'Beresheet', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Commonwealth Labs' } }), - value: 'wss://beresheet1.edgewa.re' + providers: { + 'Commonwealth Labs': 'wss://beresheet1.edgewa.re' + } }, { info: 'bifrost', text: t('rpc.bifrost', 'Bifrost Asgard', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Bifrost' } }), - value: 'wss://testnet.liebi.com' + providers: { + Bifrost: 'wss://testnet.liebi.com' + } }, { info: 'canvas', text: t('rpc.canvas', 'Canvas', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Parity' } }), - value: 'wss://canvas-rpc.parity.io' + providers: { + Parity: 'wss://canvas-rpc.parity.io' + } }, { info: 'crust', text: t('rpc.crust.network', 'Crust Maxwell CC2', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Crust Network' } }), - value: 'wss://api.crust.network/' + providers: { + 'Crust Network': 'wss://api.crust.network/' + } }, { info: 'datahighway', isDisabled: true, text: t('rpc.datahighway.harbour', 'Harbour', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'MXC' } }), - value: 'wss://testnet-harbour.datahighway.com' + providers: { + MXC: 'wss://testnet-harbour.datahighway.com' + } }, { info: 'dock-testnet', text: t('rpc.dock-testnet', 'Dock Testnet', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Dock Association' } }), - value: 'wss://danforth-1.dock.io' + providers: { + 'Dock Association': 'wss://danforth-1.dock.io' + } }, { info: 'dusty', text: t('rpc.dusty', 'Dusty', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Stake Technologies' } }), - value: 'wss://rpc.dusty.plasmnet.io/' + providers: { + 'Stake Technologies': 'wss://rpc.dusty.plasmnet.io/' + } }, { info: 'encointer_cantillon', text: t('rpc.encointer.cantillon', 'Encointer Cantillon', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Encointer Association' } }), - value: 'wss://cantillon.encointer.org' + providers: { + 'Encointer Association': 'wss://cantillon.encointer.org' + } }, { info: 'encointer_gesell', text: t('rpc.encointer.gesell', 'Encointer Gesell', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Encointer Association' } }), - value: 'wss://gesell.encointer.org' + providers: { + 'Encointer Association': 'wss://gesell.encointer.org' + } }, { info: 'equilibrium', text: t('rpc.equilibriumtestnet', 'Equilibrium Testnet', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Equilibrium' } }), - value: 'wss://api.mvp.testnet.equilibrium.io' + providers: { + Equilibrium: 'wss://api.mvp.testnet.equilibrium.io' + } }, { info: 'substrate', text: t('rpc.flamingfir', 'Flaming Fir', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Parity' } }), - value: 'wss://substrate-rpc.parity.io' + providers: { + Parity: 'wss://substrate-rpc.parity.io' + } }, { info: 'galois', isDisabled: true, // cannot construct AccountServiceEnum text: t('rpc.galois', 'Galois', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'MathWallet' } }), - value: 'wss://galois.maiziqianbao.net/ws' + providers: { + MathWallet: 'wss://galois.maiziqianbao.net/ws' + } }, { info: 'jupiter', text: t('rpc.jupiter', 'Jupiter', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Elara' } }), - value: 'wss://jupiter.elara.patract.io' + providers: { + Elara: 'wss://jupiter.elara.patract.io' + } }, { info: 'jupiter', text: t('rpc.jupiter', 'Jupiter', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Patract' } }), - value: 'wss://ws.jupiter.patract.cn' + providers: { + Patract: 'wss://ws.jupiter.patract.cn' + } }, { info: 'acala', text: t('rpc.mandala', 'Mandala', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Acala' } }), - value: 'wss://node-6714447553211260928.rz.onfinality.io/ws' + providers: { + Acala: 'wss://node-6714447553211260928.rz.onfinality.io/ws' + } }, { info: 'kilt', text: t('rpc.kilt', 'Mashnet', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'KILT Protocol' } }), - value: 'wss://full-nodes.kilt.io:9944/' + providers: { + 'KILT Protocol': 'wss://full-nodes.kilt.io:9944/' + } }, { info: 'moonbaseAlpha', text: t('rpc.moonbeam', 'Moonbase Alpha', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Moonbeam Network' } }), - value: 'wss://wss.testnet.moonbeam.network' + providers: { + 'Moonbeam Network': 'wss://wss.testnet.moonbeam.network' + } }, { info: 'phala', text: t('rpc.phala', 'Phala PoC-3', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Phala Network' } }), - value: 'wss://poc3a.phala.network/ws' + providers: { + 'Phala Network': 'wss://poc3a.phala.network/ws' + } }, { info: 'polkadex', text: t('rpc.polkadex', 'Polkadex', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Polkadex Team' } }), - value: 'wss://blockchain.polkadex.trade' + providers: { + 'Polkadex Team': 'wss://blockchain.polkadex.trade' + } }, { info: 'polkabtc', text: t('rpc.polkabtc', 'PolkaBTC', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Interlay' } }), - value: 'wss://alpha.polkabtc.io/api/parachain' + providers: { + Interlay: 'wss://alpha.polkabtc.io/api/parachain' + } }, { info: 'laminar', text: t('rpc.turbulence', 'Turbulence', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Laminar' } }), - value: 'wss://testnet-node-1.laminar-chain.laminar.one/ws' + providers: { + Laminar: 'wss://testnet-node-1.laminar-chain.laminar.one/ws' + } }, { info: 'sora-substrate', text: t('rpc.sora-substrate', 'SORA-staging', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Soramitsu' } }), - value: 'wss://ws.stage.sora2.soramitsu.co.jp' + providers: { + Soramitsu: 'wss://ws.stage.sora2.soramitsu.co.jp' + } }, { dnslink: 'westend', info: 'westend', text: t('rpc.westend', 'Westend', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Parity' } }), - value: 'wss://westend-rpc.polkadot.io' + providers: { + Parity: 'wss://westend-rpc.polkadot.io' + } }, { info: 'zero', text: t('rpc.zero', 'Zero', { ns: 'apps-config' }), - textBy: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'ZERO' } }), - value: 'wss://alphaville-0.zero.io' + providers: { + ZERO: 'wss://alphaville-0.zero.io' + } } - ]; + ]); } diff --git a/packages/apps-config/src/endpoints/testingRococo.ts b/packages/apps-config/src/endpoints/testingRococo.ts index b29115ae46..122c62bd5d 100644 --- a/packages/apps-config/src/endpoints/testingRococo.ts +++ b/packages/apps-config/src/endpoints/testingRococo.ts @@ -2,9 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 import type { TFunction } from 'i18next'; -import type { LinkOption } from '../settings/types'; - -import { expandEndpoint } from './util'; +import type { EndpointOption } from './types'; /* eslint-disable sort-keys */ @@ -15,8 +13,8 @@ import { expandEndpoint } from './util'; // value: The actual hosted secure websocket endpoint // Based on history, this will expand so keep it as a singular chunk -export function createRococo (t: TFunction): LinkOption[] { - return expandEndpoint(t, { +export function createRococo (t: TFunction): EndpointOption { + return { dnslink: 'rococo', info: 'rococo', text: t('rpc.rococo', 'Rococo', { ns: 'apps-config' }), @@ -49,5 +47,5 @@ export function createRococo (t: TFunction): LinkOption[] { } // add any additional parachains here, alphabetical ] - }); + }; }