From ff84b5c1102f18162cb5b73716127f2f17d3271e Mon Sep 17 00:00:00 2001 From: kotlarmilos Date: Fri, 11 Jun 2021 15:08:39 +0200 Subject: [PATCH] Add OriginTrail Parachain to polkadotjs (#5552) * OriginTrail parachain changes * Add OriginTrail Parachain to polkadotjs * Rename assets * Resolve lint issues * Change order Co-authored-by: Nikola Todorovic --- packages/apps-config/src/api/spec/index.ts | 2 + .../apps-config/src/api/spec/origintrail.ts | 164 ++++++++++++++++++ .../src/endpoints/testingRelayRococo.ts | 8 + .../src/settings/ethereumChains.ts | 3 +- packages/apps-config/src/ui/colors.ts | 3 + packages/apps-config/src/ui/logos/index.ts | 4 + .../src/ui/logos/nodes/origintrail.png | Bin 0 -> 3306 bytes .../apps/public/locales/en/apps-config.json | 3 +- 8 files changed, 185 insertions(+), 2 deletions(-) create mode 100644 packages/apps-config/src/api/spec/origintrail.ts create mode 100644 packages/apps-config/src/ui/logos/nodes/origintrail.png diff --git a/packages/apps-config/src/api/spec/index.ts b/packages/apps-config/src/api/spec/index.ts index a75a34219d..2d0793b15a 100644 --- a/packages/apps-config/src/api/spec/index.ts +++ b/packages/apps-config/src/api/spec/index.ts @@ -55,6 +55,7 @@ import neatcoin from './neatcoin'; import nftmart from './nftmart'; import nodle from './nodle'; import oakTestnet from './oak-testnet'; +import origintrail from './origintrail'; import pangolin from './pangolin'; import parami from './parami'; import phala from './phala'; @@ -166,6 +167,7 @@ const spec: Record = { 'node-polkadex': polkadex, 'nodle-chain': nodle, 'oak-testnet': oakTestnet, + 'origintrail-parachain': origintrail, parami, 'phala-collator': phalaParachain, 'phala-node': phala, diff --git a/packages/apps-config/src/api/spec/origintrail.ts b/packages/apps-config/src/api/spec/origintrail.ts new file mode 100644 index 0000000000..c659dbea41 --- /dev/null +++ b/packages/apps-config/src/api/spec/origintrail.ts @@ -0,0 +1,164 @@ +// Copyright 2017-2021 @polkadot/apps-config authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +import { DefinitionRpc, DefinitionRpcSub, OverrideBundleDefinition, OverrideBundleType } from '@polkadot/types/types'; + +// structs need to be in order +/* eslint-disable sort-keys */ + +export const rpcDefinitions: Record> = { + txpool: { + content: { + aliasSection: 'txpool', + description: + 'The detailed information regarding Ethereum transactions that are currently in the ' + + 'Substrate transaction pool.', + params: [], + type: 'TxPoolResultContent' + }, + inspect: { + aliasSection: 'txpool', + description: + 'Summarized information of the Ethereum transactions that are currently in the Substrate' + + ' transaction pool.', + params: [], + type: 'TxPoolResultInspect' + }, + status: { + aliasSection: 'txpool', + description: + 'The number of Ethereum transaction that are currently in the Substrate transaction pool.', + params: [], + type: 'TxPoolResultStatus' + } + } +}; + +// structs need to be in order +/* eslint-disable sort-keys */ + +const origintrailDefinitions = { + rpc: rpcDefinitions, + types: [ + { + minmax: [0, undefined], + types: { + AccountId: 'EthereumAccountId', + AccountId32: 'H256', + AccountInfo: 'AccountInfoWithTripleRefCount', + Address: 'AccountId', + AuthorId: 'AccountId32', + Balance: 'u128', + LookupSource: 'AccountId', + Account: { + nonce: 'U256', + balance: 'u128' + }, + ExtrinsicSignature: 'EthereumSignature', + RoundIndex: 'u32', + Candidate: { + id: 'AccountId', + fee: 'Perbill', + bond: 'Balance', + nominators: 'Vec', + total: 'Balance', + state: 'CollatorStatus' + }, + Nominator: { + nominations: 'Vec', + total: 'Balance' + }, + Bond: { + owner: 'AccountId', + amount: 'Balance' + }, + CollatorStatus: { + _enum: ['Active', 'Idle', { Leaving: 'RoundIndex' }] + }, + TxPoolResultContent: { + pending: 'HashMap>', + queued: 'HashMap>' + }, + TxPoolResultInspect: { + pending: 'HashMap>', + queued: 'HashMap>' + }, + TxPoolResultStatus: { + pending: 'U256', + queued: 'U256' + }, + Summary: 'Bytes', + PoolTransaction: { + hash: 'H256', + nonce: 'U256', + block_hash: 'Option', + block_number: 'Option', + from: 'H160', + to: 'Option', + value: 'U256', + gas_price: 'U256', + gas: 'U256', + input: 'Bytes' + }, + // Staking inflation + Range: 'RangeBalance', + RangeBalance: { + min: 'Balance', + ideal: 'Balance', + max: 'Balance' + }, + RangePerbill: { + min: 'Perbill', + ideal: 'Perbill', + max: 'Perbill' + }, + InflationInfo: { + expect: 'RangeBalance', + annual: 'RangePerbill', + round: 'RangePerbill' + }, + OrderedSet: 'Vec', + Collator: { + id: 'AccountId', + bond: 'Balance', + nominators: 'Vec', + total: 'Balance', + state: 'CollatorStatus' + }, + CollatorSnapshot: { + bond: 'Balance', + nominators: 'Vec', + total: 'Balance' + }, + SystemInherentData: { + validation_data: 'PersistedValidationData', + relay_chain_state: 'StorageProof', + downward_messages: 'Vec', + horizontal_messages: 'BTreeMap>' + }, + RelayChainAccountId: 'AccountId32', + RoundInfo: { + current: 'RoundIndex', + first: 'BlockNumber', + length: 'u32' + }, + RewardInfo: { + total_reward: 'Balance', + claimed_reward: 'Balance' + }, + RegistrationInfo: { + account: 'AccountId', + deposit: 'Balance' + } + } + } + ] +} as OverrideBundleDefinition; + +export default origintrailDefinitions; + +export const typesBundle = { + spec: { + 'origintrail-parachain': origintrailDefinitions + } +} as OverrideBundleType; diff --git a/packages/apps-config/src/endpoints/testingRelayRococo.ts b/packages/apps-config/src/endpoints/testingRelayRococo.ts index e03ba8a3ef..ae55cbb647 100644 --- a/packages/apps-config/src/endpoints/testingRelayRococo.ts +++ b/packages/apps-config/src/endpoints/testingRelayRococo.ts @@ -294,6 +294,14 @@ export function createRococo (t: TFunction): EndpointOption { Moonrock: 'wss://wss-moonrock.gcp.purestake.run' } }, + { + info: 'rococoOriginTrail', + paraId: 2024, + text: t('rpc.origintrail', 'OriginTrail Parachain', { ns: 'apps-config' }), + providers: { + 'Trace Labs': 'wss://parachain-rpc.origin-trail.network' + } + }, { info: 'rococoParami', isDisabled: true, // Rococo reset diff --git a/packages/apps-config/src/settings/ethereumChains.ts b/packages/apps-config/src/settings/ethereumChains.ts index d255c5a352..a5350bbddd 100644 --- a/packages/apps-config/src/settings/ethereumChains.ts +++ b/packages/apps-config/src/settings/ethereumChains.ts @@ -7,5 +7,6 @@ export const ethereumChains = [ 'moonbase', 'moonbeam', 'moonriver', - 'moonshadow' + 'moonshadow', + 'origintrail-parachain' ]; diff --git a/packages/apps-config/src/ui/colors.ts b/packages/apps-config/src/ui/colors.ts index 9e2f9b3a75..8abb123499 100644 --- a/packages/apps-config/src/ui/colors.ts +++ b/packages/apps-config/src/ui/colors.ts @@ -112,6 +112,7 @@ const nodeMybank = '#282736'; const nodeNFTMart = '#307182'; const nodeNodle = '#1ab394'; const nodeOakTestnet = '#E38985'; +const nodeOriginTrail = '#131415'; const nodePangolin = '#5744ff'; const nodeParami = '#ee06e2'; const nodePolkadex = '#7C30DD'; @@ -212,6 +213,7 @@ export const chainColors: Record = [ ['NFTMart Testnet', chainNFTMart], ['NFTMart Staging', chainNFTMart], ['OAK Testnet', chainOakTestnet], + ['OriginTrail Parachain', nodeOriginTrail], ['Pangolin', chainPangolin], ['Parami PC2', chainParami], ['Phala PC1', chainPhala], @@ -297,6 +299,7 @@ export const nodeColors: Record = [ ['NFTMart Staging', nodeNFTMart], ['nodle chain node', nodeNodle], ['OAK Testnet', nodeOakTestnet], + ['OriginTrail Parachain', nodeOriginTrail], ['Pangolin', nodePangolin], ['Parami Collator', nodeParami], ['Patract Node', nodeJupiter], diff --git a/packages/apps-config/src/ui/logos/index.ts b/packages/apps-config/src/ui/logos/index.ts index e9543f3c82..d877844ed3 100644 --- a/packages/apps-config/src/ui/logos/index.ts +++ b/packages/apps-config/src/ui/logos/index.ts @@ -76,6 +76,7 @@ import mybank from './nodes/mybank.png'; import nodeNFTMart from './nodes/nftmart.png'; import nodeNodle from './nodes/nodle.svg'; import oakTestnet from './nodes/oak-testnet.png'; +import nodeOriginTrail from './nodes/origintrail.png'; import nodePangolin from './nodes/pangolin.svg'; import nodeParami from './nodes/parami.png'; import nodePhala from './nodes/phala.svg'; @@ -176,6 +177,7 @@ export const chainLogos: Record = [ ['NFTMart Testnet', nodeNFTMart], ['NFTMart Staging', nodeNFTMart], ['OAK Testnet', oakTestnet], + ['OriginTrail Parachain', nodeOriginTrail], ['Pangolin', nodePangolin], ['Parami PC2', nodeParami], ['PHOENIX PC1', nodePhoenix], @@ -287,6 +289,7 @@ export const nodeLogos: Record = [ ['node-template', nodeSubstrate], ['Nodle Chain Node', nodeNodle], ['OAK Testnet', oakTestnet], + ['OriginTrail Parachain', nodeOriginTrail], ['Pangolin', nodePangolin], ['Patract Node', nodeJupiter], ['Polkadex Node', nodePolkadex], @@ -423,6 +426,7 @@ export const namedLogos: Record = { nftmart: nodeNFTMart, nodle: nodeNodle, 'oak-testnet': oakTestnet, + origintrail: nodeOriginTrail, pangolin: nodePangolin, phala: nodePhala, phoenix: nodePhoenix, diff --git a/packages/apps-config/src/ui/logos/nodes/origintrail.png b/packages/apps-config/src/ui/logos/nodes/origintrail.png new file mode 100644 index 0000000000000000000000000000000000000000..4fc78967e4abc2aa1557411944cd09a9e72a07ab GIT binary patch literal 3306 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 Xa4V0DxF+=2BG-9t_j4_C3D5W+XjAz0 literal 0 HcmV?d00001 diff --git a/packages/apps/public/locales/en/apps-config.json b/packages/apps/public/locales/en/apps-config.json index 3da62e2c0f..06de4d58cf 100644 --- a/packages/apps/public/locales/en/apps-config.json +++ b/packages/apps/public/locales/en/apps-config.json @@ -31,6 +31,7 @@ "rpc.kusama.statemine": "Statemine", "rpc.kylin-node.co.uk": "Kylin Network", "rpc.manta": "Manta Testnet", + "rpc.origintrail": "OriginTrail Parachain", "rpc.polkadot.parity": "Polkadot", "rpc.polkadot.patractlabs": "Polkadot", "rpc.polkadot.w3f": "Polkadot", @@ -167,4 +168,4 @@ "rpc.westend.whala": "Whala Network", "ss58.default": "Default for the connected node", "testnet.kylin-node.co.uk": "Kylin Testnet" -} \ No newline at end of file +}