From 44160943d5513a9e597325f6291f35560b4e93e7 Mon Sep 17 00:00:00 2001 From: Lovesh Harchandani Date: Mon, 5 Oct 2020 20:26:20 +0530 Subject: [PATCH] Add Dock specific config (#3820) * Add Dock specific config Signed-off-by: lovesh * Fix linting issues Signed-off-by: lovesh --- packages/apps-config/src/api/spec/dock.ts | 122 ++++++++++++++++++ packages/apps-config/src/api/spec/index.ts | 3 + .../apps-config/src/settings/endpoints.ts | 12 ++ packages/apps-config/src/settings/ss58.ts | 10 ++ packages/apps-config/src/ui/logos/index.ts | 14 +- .../src/ui/logos/nodes/dock-mainnet.svg | 17 +++ .../src/ui/logos/nodes/dock-testnet.svg | 17 +++ 7 files changed, 191 insertions(+), 4 deletions(-) create mode 100644 packages/apps-config/src/api/spec/dock.ts create mode 100644 packages/apps-config/src/ui/logos/nodes/dock-mainnet.svg create mode 100644 packages/apps-config/src/ui/logos/nodes/dock-testnet.svg diff --git a/packages/apps-config/src/api/spec/dock.ts b/packages/apps-config/src/api/spec/dock.ts new file mode 100644 index 0000000000..dd05dafd88 --- /dev/null +++ b/packages/apps-config/src/api/spec/dock.ts @@ -0,0 +1,122 @@ +// Copyright 2017-2020 @polkadot/apps-config authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +// structs need to be in order +/* eslint-disable sort-keys */ + +export default { + Address: 'AccountId', + LookupSource: 'AccountId', + Keys: 'SessionKeys2', + Did: '[u8;32]', + Bytes32: { + value: '[u8;32]' + }, + Bytes33: { + value: '[u8;33]' + }, + Bytes64: { + value: '[u8;64]' + }, + Bytes65: { + value: '[u8;65]' + }, + PublicKey: { + _enum: { + Sr25519: 'Bytes32', + Ed25519: 'Bytes32', + Secp256k1: 'Bytes33' + } + }, + DidSignature: { + _enum: { + Sr25519: 'Bytes64', + Ed25519: 'Bytes64', + Secp256k1: 'Bytes65' + } + }, + KeyDetail: { + controller: 'Did', + public_key: 'PublicKey' + }, + KeyUpdate: { + did: 'Did', + public_key: 'PublicKey', + controller: 'Option', + last_modified_in_block: 'BlockNumber' + }, + DidRemoval: { + did: 'Did', + last_modified_in_block: 'BlockNumber' + }, + RegistryId: '[u8;32]', + RevokeId: '[u8;32]', + Registry: { + policy: 'Policy', + add_only: 'bool' + }, + Revoke: { + registry_id: 'RegistryId', + revoke_ids: 'BTreeSet', + last_modified: 'BlockNumber' + }, + UnRevoke: { + registry_id: 'RegistryId', + revoke_ids: 'BTreeSet', + last_modified: 'BlockNumber' + }, + RemoveRegistry: { + registry_id: 'RegistryId', + last_modified: 'BlockNumber' + }, + PAuth: 'BTreeMap', + Policy: { + _enum: { + OneOf: 'BTreeSet' + } + }, + BlobId: '[u8;32]', + Blob: { + id: 'BlobId', + blob: 'Vec', + author: 'Did' + }, + EpochNo: 'u32', + EpochLen: 'u32', + SlotNo: 'u64', + Balance: 'u64', + EpochDetail: { + validator_count: 'u8', + starting_slot: 'SlotNo', + expected_ending_slot: 'SlotNo', + ending_slot: 'Option', + total_emission: 'Option', + emission_for_treasury: 'Option', + emission_for_validators: 'Option' + }, + ValidatorStatsPerEpoch: { + block_count: 'EpochLen', + locked_reward: 'Option', + unlocked_reward: 'Option' + }, + Payload: { + proposal: 'Vec', + round_no: 'u64' + }, + Membership: { + members: 'BTreeSet', + vote_requirement: 'u64' + }, + PMAuth: 'BTreeMap', + StateChange: { + _enum: { + KeyUpdate: 'KeyUpdate', + DidRemoval: 'DidRemoval', + Revoke: 'Revoke', + UnRevoke: 'UnRevoke', + RemoveRegistry: 'RemoveRegistry', + Blob: 'Blob', + MasterVote: 'Payload' + } + } +}; diff --git a/packages/apps-config/src/api/spec/index.ts b/packages/apps-config/src/api/spec/index.ts index ab3b838439..584cfa7f57 100644 --- a/packages/apps-config/src/api/spec/index.ts +++ b/packages/apps-config/src/api/spec/index.ts @@ -6,6 +6,7 @@ import centrifugeChain from './centrifuge-chain'; import crab from './crab'; import crust from './crust'; import darwiniaParachain from './darwinia-parachain'; +import dock from './dock'; import testPara from './cumulus-test-parachain'; import edgeware from './edgeware'; import encointerNodeNotee from './encointer-node-notee'; @@ -30,6 +31,8 @@ export default { crust, 'cumulus-test-parachain': testPara, 'darwinia-parachain': darwiniaParachain, + 'dock-main-runtime': dock, + 'dock-testnet': dock, dusty3: plasm, edgeware, 'encointer-node': encointerNodeNotee, diff --git a/packages/apps-config/src/settings/endpoints.ts b/packages/apps-config/src/settings/endpoints.ts index 33a16c29da..1c8d7f7c83 100644 --- a/packages/apps-config/src/settings/endpoints.ts +++ b/packages/apps-config/src/settings/endpoints.ts @@ -140,6 +140,12 @@ function createLiveNetworks (t: TFunction): LinkOption[] { text: t('rpc.subsocial', 'Subsocial', { ns: 'apps-config' }), textHoster: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'DappForce' } }), value: 'wss://rpc.subsocial.network' + }, + { + info: 'dock-mainnet', + text: t('rpc.dock-mainnet', 'Dock Mainnet', { ns: 'apps-config' }), + textHoster: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Dock Association' } }), + value: 'wss://mainnet-node.dock.io' } ]; } @@ -290,6 +296,12 @@ function createTestNetworks (t: TFunction): LinkOption[] { text: t('rpc.westend', 'Westend', { ns: 'apps-config' }), textHoster: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Parity' } }), value: 'wss://westend-rpc.polkadot.io' + }, + { + info: 'dock-testnet', + text: t('rpc.dock-testnet', 'Dock Testnet', { ns: 'apps-config' }), + textHoster: t('rpc.hosted.by', 'hosted by {{host}}', { ns: 'apps-config', replace: { host: 'Dock Association' } }), + value: 'wss://danforth-1.dock.io' } ]; } diff --git a/packages/apps-config/src/settings/ss58.ts b/packages/apps-config/src/settings/ss58.ts index 236aa8b8cc..3d13a6a267 100644 --- a/packages/apps-config/src/settings/ss58.ts +++ b/packages/apps-config/src/settings/ss58.ts @@ -52,6 +52,16 @@ export default function create (t: TFunction): Option[] { text: t('ss58.stafi', 'Stafi (live)', { ns: 'apps-config' }), value: 20 }, + { + info: 'dock-testnet', + text: t('ss58.dock-testnet', 'Dock Testnet (test)', { ns: 'apps-config' }), + value: 21 + }, + { + info: 'dock-mainnet', + text: t('ss58.dock-mainnet', 'Dock Mainnet (live)', { ns: 'apps-config' }), + value: 22 + }, { info: 'subsocial', text: t('ss58.subsocial', 'Subsocial (live)', { ns: 'apps-config' }), diff --git a/packages/apps-config/src/ui/logos/index.ts b/packages/apps-config/src/ui/logos/index.ts index af799cf2a8..b732b1a51e 100644 --- a/packages/apps-config/src/ui/logos/index.ts +++ b/packages/apps-config/src/ui/logos/index.ts @@ -4,7 +4,7 @@ /* eslint-disable @typescript-eslint/no-unsafe-assignment */ // anything for a specific chain, most would probably fit into the node category (but allow for chain-specific) -// alphbetical +// alphabetical import chainDusty from './chains/dusty.png'; import chainKusama from './chains/kusama-128.gif'; import chainRococo from './chains/rococo.svg'; @@ -13,12 +13,14 @@ import chainRococoTrack from './chains/rococo-track.svg'; import chainRococoTrick from './chains/rococo-trick.svg'; // defaults for the node type, assuming we don't have a specific chain, but rather match on the implementation -// alphbetical +// alphabetical import nodeAcala from './nodes/acala-circle.svg'; import nodeCentrifuge from './nodes/centrifuge.png'; import nodeCrab from './nodes/crab.svg'; import nodeCrust from './nodes/crust.svg'; import nodeDarwinia from './nodes/darwinia.png'; +import nodeDockMainnet from './nodes/dock-mainnet.svg'; +import nodeDockTestnet from './nodes/dock-testnet.svg'; import nodeEdgeware from './nodes/edgeware-circle.svg'; import nodeEncointerNotee from './nodes/encointer-notee.svg'; import nodeEncointerTeeproxy from './nodes/encointer-teeproxy.svg'; @@ -37,11 +39,11 @@ import nodeSubsocial from './nodes/subsocial.svg'; import nodeSubstrate from './nodes/substrate-hexagon.svg'; // extensions -// alphbetical +// alphabetical import extensionPolkadotJs from './extensions/polkadot-js.svg'; // external links -// alphbetical +// alphabetical import externalCommonwealth from './external/commonwealth.png'; import externalPolkascan from './external/polkascan.png'; import externalPolkassembly from './external/polkassembly.png'; @@ -77,6 +79,8 @@ const nodeLogos: Record = [ ['crab', nodeCrab], ['crust node', nodeCrust], ['darwinia parachain', nodeDarwinia], + ['Dock Mainnet Node', nodeDockMainnet], + ['Dock Testnet Node', nodeDockTestnet], ['Edgeware Node', nodeEdgeware], ['Encointer Node', nodeEncointerNotee], ['Encointer Node noTEE', nodeEncointerNotee], @@ -109,6 +113,8 @@ const namedLogos: Record = { centrifuge: nodeCentrifuge, crab: nodeCrab, crust: nodeCrust, + dockMainnet: nodeDockMainnet, + dockTestnet: nodeDockTestnet, dusty: chainDusty, edgeware: nodeEdgeware, empty: emptyLogo, diff --git a/packages/apps-config/src/ui/logos/nodes/dock-mainnet.svg b/packages/apps-config/src/ui/logos/nodes/dock-mainnet.svg new file mode 100644 index 0000000000..4cb63d0a32 --- /dev/null +++ b/packages/apps-config/src/ui/logos/nodes/dock-mainnet.svg @@ -0,0 +1,17 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + + + diff --git a/packages/apps-config/src/ui/logos/nodes/dock-testnet.svg b/packages/apps-config/src/ui/logos/nodes/dock-testnet.svg new file mode 100644 index 0000000000..4cb63d0a32 --- /dev/null +++ b/packages/apps-config/src/ui/logos/nodes/dock-testnet.svg @@ -0,0 +1,17 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + + +