Skip to content

Commit

Permalink
add westend (#190)
Browse files Browse the repository at this point in the history
* add westend

* fix chaindata

* fix para renewal & manage page

* fix current price

---------

Co-authored-by: Szegoo <[email protected]>
  • Loading branch information
TopETH and Szegoo authored Jul 12, 2024
1 parent 3382141 commit 791034b
Show file tree
Hide file tree
Showing 20 changed files with 294 additions and 37 deletions.
15 changes: 11 additions & 4 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
WS_ROCOCO_CORETIME_CHAIN="WSS endpoint of the coretime chain"
WS_KUSAMA_CORETIME_CHAIN="WSS endpoint of the coretime chain"
WS_ROCOCO_RELAY_CHAIN="WSS endpoint of the coretime relay chain"
WS_KUSAMA_RELAY_CHAIN="WSS endpoint of the coretime relay chain"
WS_ROCOCO_CORETIME_CHAIN="WSS endpoint of the coretime chain on Rococo"
WS_KUSAMA_CORETIME_CHAIN="WSS endpoint of the coretime chain on Kusama"
WS_WESTEND_CORETIME_CHAIN="WSS endpiontof the coretime chain on Westend"

WS_ROCOCO_RELAY_CHAIN="WSS endpoint of the coretime relay chain - Rococo"
WS_KUSAMA_RELAY_CHAIN="WSS endpoint of the coretime relay chain - Kusama"
WS_WESTEND_RELAY_CHAIN="WSS endpoint of the coretime relay chain - Westend"

WS_REGIONX_COCOS_CHAIN="WSS endpoint of the regionx chain"

SUBSCAN_CORETIME_ROCOCO_API="API endpoint for Rococo Coretime"
SUBSCAN_CORETIME_KUSAMA_API="API endpoint for Kusama Coretime"
SUBSCAN_CORETIME_WESTEND_API="API endpoint for Westend Coretime"

EXPERIMENTAL=false
8 changes: 8 additions & 0 deletions next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,19 @@ const nextConfig = {
env: {
WS_ROCOCO_CORETIME_CHAIN: process.env.WS_ROCOCO_CORETIME_CHAIN || '',
WS_KUSAMA_CORETIME_CHAIN: process.env.WS_KUSAMA_CORETIME_CHAIN || '',
WS_WESTEND_CORETIME_CHAIN: process.env.WS_WESTEND_CORETIME_CHAIN || '',

SUBSCAN_CORETIME_ROCOCO_API: process.env.SUBSCAN_CORETIME_ROCOCO_API || '',
SUBSCAN_CORETIME_KUSAMA_API: process.env.SUBSCAN_CORETIME_KUSAMA_API || '',
SUBSCAN_CORETIME_WESTEND_API:
process.env.SUBSCAN_CORETIME_WESTEND_API || '',

WS_REGIONX_COCOS_CHAIN: process.env.WS_REGIONX_COCOS_CHAIN || '',

WS_ROCOCO_RELAY_CHAIN: process.env.WS_ROCOCO_RELAY_CHAIN,
WS_KUSAMA_RELAY_CHAIN: process.env.WS_KUSAMA_RELAY_CHAIN,
WS_WESTEND_RELAY_CHAIN: process.env.WS_WESTEND_RELAY_CHAIN,

EXPERIMENTAL: process.env.EXPERIMENTAL,
},
};
Expand Down
3 changes: 2 additions & 1 deletion src/assets/networks/coretime/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import KusamaCoretime from './kusama.png';
import RococoCoretime from './rococo.png';
import WestendCoretime from './westend.png';

export { KusamaCoretime, RococoCoretime };
export { KusamaCoretime, RococoCoretime, WestendCoretime };
Binary file added src/assets/networks/coretime/westend.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion src/assets/networks/relay/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import Kusama from './kusama.png';
import Rococo from './rococo.png';
import Westend from './westend.png';

export { Kusama, Rococo };
export { Kusama, Rococo, Westend };
Binary file added src/assets/networks/relay/westend.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions src/chaindata/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import KusamaChains from './kusama';
import leases from './leases.json';
import RococoChains from './rococo';
import { BaseChainInfo, ChainDetails } from './types';
import WestendChains from './westend';

const transformData = (data: ChainDetails[]): Record<number, BaseChainInfo> => {
const mapping: Record<number, BaseChainInfo> = {};
Expand All @@ -16,6 +17,7 @@ const transformData = (data: ChainDetails[]): Record<number, BaseChainInfo> => {
const chainData: Record<NetworkType, Record<number, BaseChainInfo>> = {
[NetworkType.KUSAMA]: transformData(KusamaChains),
[NetworkType.ROCOCO]: transformData(RococoChains),
[NetworkType.WESTEND]: transformData(WestendChains),
[NetworkType.NONE]: transformData([]),
};

Expand Down
200 changes: 200 additions & 0 deletions src/chaindata/westend.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
import {
chainsKaruraSVG,
chainsStandardPNG,
nodesAssetHubSVG,
nodesBridgeHubSVG,
nodesCentrifugePNG,
nodesIntegriteeSVG,
nodesInterlaySVG,
nodesKhalaSVG,
nodesKylinPNG,
nodesMoonshadowPNG,
} from '@/assets/logos';

import { ChainDetails } from './types';

const testParasWestend: ChainDetails[] = [
{
info: 'charcoal',
paraId: 2086,
providers: {
// Centrifuge: 'wss://fullnode-collator.charcoal.centrifuge.io' // https://github.com/polkadot-js/apps/issues/8219
},
text: 'Charcoal',
ui: {
logo: nodesCentrifugePNG,
},
},
{
info: 'integritee',
paraId: 2081,
providers: {
// Integritee: 'wss://teerw1.integritee.network' // https://github.com/polkadot-js/apps/issues/8937
},
text: 'Integritee Network',
ui: {
color: '#658ea9',
logo: nodesIntegriteeSVG,
},
},
{
info: 'interlay',
paraId: 2094,
providers: {
// Interlay: 'wss://api-westend.interlay.io/parachain' // https://github.com/polkadot-js/apps/issues/6261
},
text: 'Interlay',
ui: {
logo: nodesInterlaySVG,
},
},
{
info: 'moonshadow',
paraId: 2002,
providers: {
// PureStake: 'wss://wss.moonshadow.testnet.moonbeam.network' // https://github.com/polkadot-js/apps/issues/6181
},
text: 'Moonshadow',
ui: {
color: '#53cbc9',
logo: nodesMoonshadowPNG,
},
},
{
homepage: 'https://kylin.network/',
info: 'westendPichiu',
paraId: 2112,
providers: {
// 'Kylin Network': 'wss://westend.kylin-node.co.uk' // https://github.com/polkadot-js/apps/issues/8710
},
text: 'Pichiu',
ui: {
logo: nodesKylinPNG,
},
},
{
info: 'westendStandard',
paraId: 2094,
providers: {
// 'Standard Protocol': 'wss://rpc.westend.standard.tech' // https://github.com/polkadot-js/apps/issues/8525
},
text: 'Standard',
ui: {
logo: chainsStandardPNG,
},
},
{
info: 'karura',
paraId: 2005,
providers: {
// 'Acala Foundation': 'wss://karura-westend-rpc.aca-staging.network' // https://github.com/polkadot-js/apps/issues/5830
},
text: 'Wendala',
ui: {
logo: chainsKaruraSVG,
},
},
{
info: 'whala',
paraId: 2013,
providers: {
// Phala: 'wss://whala.phala.network/ws' // https://github.com/polkadot-js/apps/issues/6181
},
text: 'Whala',
ui: {
color: '#03f3f3',
logo: nodesKhalaSVG,
},
},
{
info: 'WestendAssetHub',
isPeopleForIdentity: true,
paraId: 1000,
providers: {
Dwellir: 'wss://asset-hub-westend-rpc.dwellir.com',
'Dwellir Tunisia': 'wss://westmint-rpc-tn.dwellir.com',
IBP1: 'wss://sys.ibp.network/westmint',
IBP2: 'wss://sys.dotters.network/westmint',
// OnFinality: 'wss://westmint.api.onfinality.io/public-ws', // https://github.com/polkadot-js/apps/issues/9955
Parity: 'wss://westend-asset-hub-rpc.polkadot.io',
// Stakeworld: 'wss://wnd-rpc.stakeworld.io/assethub'
},
relayName: 'westend',
teleport: [-1],
text: 'AssetHub',
ui: {
color: '#77bb77',
logo: nodesAssetHubSVG,
},
},
{
info: 'westendBridgeHub',
isPeopleForIdentity: true,
paraId: 1002,
providers: {
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://sys.dotters.network/bridgehub-westend',
// OnFinality: 'wss://bridgehub-westend.api.onfinality.io/public-ws', // https://github.com/polkadot-js/apps/issues/9960
Parity: 'wss://westend-bridge-hub-rpc.polkadot.io',
},
relayName: 'westend',
text: 'BridgeHub',
ui: {
logo: nodesBridgeHubSVG,
},
},
{
info: 'westendCollectives',
isPeopleForIdentity: true,
paraId: 1001,
providers: {
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://sys.dotters.network/collectives-westend',
Parity: 'wss://westend-collectives-rpc.polkadot.io',
},
relayName: 'westend',
teleport: [-1],
text: 'Collectives',
ui: {
color: '#e6777a',
// logo: 'fa;people-group',
},
},
{
info: 'westendCoretime',
isPeopleForIdentity: true,
paraId: 1005,
providers: {
Dwellir: 'wss://coretime-westend-rpc.dwellir.com',
IBP1: 'wss://sys.ibp.network/coretime-westend',
IBP2: 'wss://sys.dotters.network/coretime-westend',
Parity: 'wss://westend-coretime-rpc.polkadot.io',
},
relayName: 'westend',
teleport: [-1],
text: 'Coretime',
ui: {},
},
{
info: 'westendPeople',
isPeople: true,
isPeopleForIdentity: false,
paraId: 1004,
providers: {
Dwellir: 'wss://people-westend-rpc.dwellir.com',
IBP1: 'wss://sys.ibp.network/people-westend',
IBP2: 'wss://sys.dotters.network/people-westend',
Parity: 'wss://westend-people-rpc.polkadot.io',
},
relayName: 'westend',
teleport: [-1],
text: 'People',
ui: {},
},
];

export default testParasWestend;
4 changes: 4 additions & 0 deletions src/components/Elements/Selectors/ChainSelector/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ import {
RegionX,
Rococo,
RococoCoretime,
Westend,
WestendCoretime,
} from '@/assets/networks';
import { EXPERIMENTAL } from '@/consts';
import { ApiState } from '@/contexts/apis/types';
Expand All @@ -33,12 +35,14 @@ import { useNetwork } from '@/contexts/network';
const coretimeIcons = {
[NetworkType.KUSAMA]: KusamaCoretime,
[NetworkType.ROCOCO]: RococoCoretime,
[NetworkType.WESTEND]: WestendCoretime,
[NetworkType.NONE]: '',
};

const relayIcons = {
[NetworkType.KUSAMA]: Kusama,
[NetworkType.ROCOCO]: Rococo,
[NetworkType.WESTEND]: Westend,
[NetworkType.NONE]: '',
};

Expand Down
12 changes: 10 additions & 2 deletions src/components/Elements/Selectors/NetworkSelector/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@ import { Box, FormControl, MenuItem, Select, Typography } from '@mui/material';
import Image from 'next/image';
import { useRouter } from 'next/router';

import KusamaIcon from '@/assets/networks/relay/kusama.png';
import RococoIcon from '@/assets/networks/relay/rococo.png';
import {
Kusama as KusamaIcon,
Rococo as RococoIcon,
Westend as WestendIcon,
} from '@/assets/networks/relay';
import { useNetwork } from '@/contexts/network';
import { NetworkType } from '@/models';

Expand Down Expand Up @@ -33,6 +36,11 @@ const RelaySelect = () => {
label: 'Kusama',
icon: KusamaIcon,
},
{
value: NetworkType.WESTEND,
label: 'Westend',
icon: WestendIcon,
},
];

return (
Expand Down
2 changes: 1 addition & 1 deletion src/components/Panels/SaleInfoPanel/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ export const SaleInfoPanel = () => {
},
right: {
label: 'Floor price',
value: formatBalance(saleInfo.price),
value: saleInfo.price ? formatBalance(saleInfo.price) : '---',
},
}}
button={
Expand Down
8 changes: 8 additions & 0 deletions src/consts/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,34 @@ export const APP_NAME = 'Corehub';
export const SUBSCAN_CORETIME_API = {
[NetworkType.ROCOCO]: process.env.SUBSCAN_CORETIME_ROCOCO_API ?? '',
[NetworkType.KUSAMA]: process.env.SUBSCAN_CORETIME_KUSAMA_API ?? '',
[NetworkType.WESTEND]: process.env.SUBSCAN_CORETIME_WESTEND_API ?? '',
[NetworkType.NONE]: '',
};

export const SUSBCAN_CORETIME_URL = {
[NetworkType.ROCOCO]: 'https://coretime-rococo.subscan.io',
[NetworkType.KUSAMA]: 'https://coretime-kusama.subscan.io',
[NetworkType.WESTEND]: 'https://coretime-westend.subscan.io',
[NetworkType.NONE]: '',
};

export const SUSBCAN_RELAY_URL = {
[NetworkType.ROCOCO]: 'https://rococo.subscan.io',
[NetworkType.KUSAMA]: 'https://kusama.subscan.io',
[NetworkType.WESTEND]: 'https://westend.subscan.io/',
[NetworkType.NONE]: '',
};

export const WS_ROCOCO_RELAY_CHAIN = process.env.WS_ROCOCO_RELAY_CHAIN ?? '';
export const WS_KUSAMA_RELAY_CHAIN = process.env.WS_KUSAMA_RELAY_CHAIN ?? '';
export const WS_WESTEND_RELAY_CHAIN = process.env.WS_WESTEND_RELAY_CHAIN ?? '';

export const WS_ROCOCO_CORETIME_CHAIN =
process.env.WS_ROCOCO_CORETIME_CHAIN ?? '';
export const WS_KUSAMA_CORETIME_CHAIN =
process.env.WS_KUSAMA_CORETIME_CHAIN ?? '';
export const WS_WESTEND_CORETIME_CHAIN =
process.env.WS_WESTEND_CORETIME_CHAIN ?? '';

export const WS_REGIONX_COCOS_CHAIN = process.env.WS_REGIONX_COCOS_CHAIN ?? '';
export const EXPERIMENTAL = process.env.EXPERIMENTAL == 'true' ? true : false;
8 changes: 7 additions & 1 deletion src/contexts/apis/CoretimeApi/index.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
import React, { useContext, useEffect, useReducer } from 'react';

import { WS_KUSAMA_CORETIME_CHAIN, WS_ROCOCO_CORETIME_CHAIN } from '@/consts';
import {
WS_KUSAMA_CORETIME_CHAIN,
WS_ROCOCO_CORETIME_CHAIN,
WS_WESTEND_CORETIME_CHAIN,
} from '@/consts';
import { useNetwork } from '@/contexts/network';
import { useToast } from '@/contexts/toast';
import { NetworkType } from '@/models';
Expand Down Expand Up @@ -47,6 +51,8 @@ const CoretimeApiContextProvider = (props: any) => {
return WS_ROCOCO_CORETIME_CHAIN;
} else if (network === NetworkType.KUSAMA) {
return WS_KUSAMA_CORETIME_CHAIN;
} else if (network === NetworkType.WESTEND) {
return WS_WESTEND_CORETIME_CHAIN;
} else {
return null;
}
Expand Down
Loading

0 comments on commit 791034b

Please sign in to comment.