From b38f951be8aabdb3bba27726ecafb5c353fec654 Mon Sep 17 00:00:00 2001 From: Josep M Sobrepere Date: Thu, 7 Nov 2024 15:44:03 +0100 Subject: [PATCH] moar networks --- src/chain.state.ts | 58 ++++-------- src/chainspecs/westend.ts | 1 + src/chainspecs/westend_asset_hub.ts | 1 + src/chainspecs/westend_collectives.ts | 1 + src/chainspecs/westend_people.ts | 1 + src/networks/paseo.json | 12 +-- src/networks/westend.json | 123 ++++++++++++++++++++++++++ 7 files changed, 151 insertions(+), 46 deletions(-) create mode 100644 src/chainspecs/westend.ts create mode 100644 src/chainspecs/westend_asset_hub.ts create mode 100644 src/chainspecs/westend_collectives.ts create mode 100644 src/chainspecs/westend_people.ts create mode 100644 src/networks/westend.json diff --git a/src/chain.state.ts b/src/chain.state.ts index 72c3b6e..7754ca6 100644 --- a/src/chain.state.ts +++ b/src/chain.state.ts @@ -36,6 +36,7 @@ import { import ksmRawNetworks from "./networks/kusama.json" import polkadotRawNetworks from "./networks/polkadot.json" import paseoRawNetworks from "./networks/paseo.json" +import westendRawNetworks from "./networks/westend.json" export type ChainSource = { id: string } & ( | { @@ -68,55 +69,32 @@ export type SelectedChain = { endpoint: string } -const polkadot = polkadotRawNetworks.map( - (x): Network => ({ +const [Polkadot, Kusama, Paseo, Westend] = ( + [ + polkadotRawNetworks, + ksmRawNetworks, + paseoRawNetworks, + westendRawNetworks, + ] as const +).map((n): Network[] => + n.map((x) => ({ endpoints: x.rpcs as any, lightclient: x.hasChainSpecs, id: x.id, display: x.display, - relayChain: "polkadot", - }), + relayChain: x.relayChainInfo?.id, + })), ) +const networks = { Polkadot, Kusama, Paseo, Westend } -const kusama = ksmRawNetworks.map( - (x): Network => ({ - endpoints: x.rpcs as any, - lightclient: x.hasChainSpecs, - id: x.id, - display: x.display, - relayChain: "kusama", - }), -) - -const paseo = paseoRawNetworks.map( - (x): Network => ({ - endpoints: x.rpcs as any, - lightclient: x.hasChainSpecs, - id: x.id, - display: x.display, - relayChain: "paseo", - }), -) - -export const networkCategories: NetworkCategory[] = [ - { - name: "Polkadot", - networks: polkadot, - }, - { - name: "Kusama", - networks: kusama, - }, - { - name: "Paseo", - networks: paseo, - }, -] +export const networkCategories: NetworkCategory[] = Object.entries( + networks, +).map(([name, networks]) => ({ name, networks })) export const [selectedChainChanged$, onChangeChain] = createSignal() export const selectedChain$ = state(selectedChainChanged$, { - network: polkadot[0], + network: Polkadot[0], endpoint: "light-client", }) selectedChain$.subscribe() @@ -254,7 +232,7 @@ export function getProvider(source: ChainSource): JsonRpcProvider { if (!smoldot) { const client = startFromWorker(new SmWorker(), { logCallback: (level, target, message) => { - console.debug("[%s(%s)] %s", target, level, message) + console.debug("smoldot[%s(%s)] %s", target, level, message) }, }) smoldot = { diff --git a/src/chainspecs/westend.ts b/src/chainspecs/westend.ts new file mode 100644 index 0000000..e15af60 --- /dev/null +++ b/src/chainspecs/westend.ts @@ -0,0 +1 @@ +export { chainSpec } from "polkadot-api/chains/westend2" diff --git a/src/chainspecs/westend_asset_hub.ts b/src/chainspecs/westend_asset_hub.ts new file mode 100644 index 0000000..c6ba4bf --- /dev/null +++ b/src/chainspecs/westend_asset_hub.ts @@ -0,0 +1 @@ +export { chainSpec } from "polkadot-api/chains/westend2_asset_hub" diff --git a/src/chainspecs/westend_collectives.ts b/src/chainspecs/westend_collectives.ts new file mode 100644 index 0000000..e3602e3 --- /dev/null +++ b/src/chainspecs/westend_collectives.ts @@ -0,0 +1 @@ +export { chainSpec } from "polkadot-api/chains/westend2_collectives" diff --git a/src/chainspecs/westend_people.ts b/src/chainspecs/westend_people.ts new file mode 100644 index 0000000..5214c1a --- /dev/null +++ b/src/chainspecs/westend_people.ts @@ -0,0 +1 @@ +export { chainSpec } from "polkadot-api/chains/westend2_people" diff --git a/src/networks/paseo.json b/src/networks/paseo.json index 36d8c4a..d0fc339 100644 --- a/src/networks/paseo.json +++ b/src/networks/paseo.json @@ -12,7 +12,7 @@ }, "nativeToken": { "symbol": "PAS", - "decimals": 10 + "decimals": 12 } }, { @@ -32,7 +32,7 @@ }, "nativeToken": { "symbol": "PAS", - "decimals": 10 + "decimals": 12 }, "hasChainSpecs": true }, @@ -49,7 +49,7 @@ }, "nativeToken": { "symbol": "PAS", - "decimals": 10 + "decimals": 12 }, "hasChainSpecs": false }, @@ -67,7 +67,7 @@ }, "nativeToken": { "symbol": "PAS", - "decimals": 10 + "decimals": 12 }, "hasChainSpecs": false }, @@ -85,7 +85,7 @@ }, "nativeToken": { "symbol": "PAS", - "decimals": 10 + "decimals": 12 }, "hasChainSpecs": false }, @@ -309,7 +309,7 @@ }, "nativeToken": { "symbol": "PAS", - "decimals": 10 + "decimals": 12 }, "hasChainSpecs": false }, diff --git a/src/networks/westend.json b/src/networks/westend.json new file mode 100644 index 0000000..0efd1e9 --- /dev/null +++ b/src/networks/westend.json @@ -0,0 +1,123 @@ +[ + { + "id": "westend", + "display": "Westend Relay Chain", + "hasChainSpecs": true, + "rpcs": { + "Dwellir": "wss://westend-rpc.dwellir.com", + "Dwellir Tunisia": "wss://westend-rpc-tn.dwellir.com", + "IBP1": "wss://rpc.ibp.network/westend", + "IBP2": "wss://westend.dotters.network", + "OnFinality": "wss://westend.api.onfinality.io/public-ws", + "Parity": "wss://westend-rpc.polkadot.io", + "RadiumBlock": "wss://westend.public.curie.radiumblock.co/ws" + }, + "nativeToken": { + "symbol": "WND", + "decimals": 12 + } + }, + { + "id": "westend_asset_hub", + "display": "AssetHub", + "rpcs": { + "Dwellir": "wss://asset-hub-westend-rpc.dwellir.com", + "Dwellir Tunisia": "wss://westmint-rpc-tn.dwellir.com", + "IBP1": "wss://sys.ibp.network/westmint", + "IBP2": "wss://asset-hub-westend.dotters.network", + "Parity": "wss://westend-asset-hub-rpc.polkadot.io" + }, + "relayChainInfo": { + "id": "westend", + "isSystem": true, + "parachain": 1000 + }, + "nativeToken": { + "symbol": "WND", + "decimals": 12 + }, + "hasChainSpecs": true + }, + { + "id": "westend_bridge_hub", + "display": "BridgeHub", + "rpcs": { + "Dwellir": "wss://bridge-hub-westend-rpc.dwellir.com", + "Dwellir Tunisia": "wss://westend-bridge-hub-rpc-tn.dwellir.com", + "IBP1": "wss://sys.ibp.network/bridgehub-westend", + "IBP2": "wss://bridge-hub-westend.dotters.network", + "Parity": "wss://westend-bridge-hub-rpc.polkadot.io" + }, + "relayChainInfo": { + "id": "westend", + "isSystem": true, + "parachain": 1002 + }, + "nativeToken": { + "symbol": "WND", + "decimals": 12 + }, + "hasChainSpecs": false + }, + { + "id": "westend_collectives", + "display": "Collectives", + "rpcs": { + "Dwellir": "wss://collectives-westend-rpc.dwellir.com", + "Dwellir Tunisia": "wss://westend-collectives-rpc-tn.dwellir.com", + "IBP1": "wss://sys.ibp.network/collectives-westend", + "IBP2": "wss://collectives-westend.dotters.network", + "Parity": "wss://westend-collectives-rpc.polkadot.io" + }, + "relayChainInfo": { + "id": "westend", + "isSystem": true, + "parachain": 1001 + }, + "nativeToken": { + "symbol": "WND", + "decimals": 12 + }, + "hasChainSpecs": true + }, + { + "id": "westend_core_time", + "display": "Coretime", + "rpcs": { + "Dwellir": "wss://coretime-westend-rpc.dwellir.com", + "IBP1": "wss://sys.ibp.network/coretime-westend", + "IBP2": "wss://coretime-westend.dotters.network", + "Parity": "wss://westend-coretime-rpc.polkadot.io" + }, + "relayChainInfo": { + "id": "westend", + "isSystem": true, + "parachain": 1005 + }, + "nativeToken": { + "symbol": "WND", + "decimals": 12 + }, + "hasChainSpecs": false + }, + { + "id": "westend_people_chain", + "display": "People", + "rpcs": { + "Dwellir": "wss://people-westend-rpc.dwellir.com", + "IBP1": "wss://sys.ibp.network/people-westend", + "IBP2": "wss://people-westend.dotters.network", + "Parity": "wss://westend-people-rpc.polkadot.io" + }, + "relayChainInfo": { + "id": "westend", + "isSystem": true, + "parachain": 1004 + }, + "nativeToken": { + "symbol": "WND", + "decimals": 12 + }, + "hasChainSpecs": false + } +]