From bb2f26ff39976d3c66870f4f1f6d9ae5a7ba8634 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Wed, 29 Sep 2021 08:35:17 +0300 Subject: [PATCH] Add Opal by Unique Network (#6211) * Add Opal by Unique Neetwork * Linter fixes * Moved OPAL by UNIQUE network to the correct alphabetical position * Update Opal node endpoint to westend-opal.unique.network --- packages/apps-config/src/api/spec/index.ts | 2 + .../src/api/spec/unique-westend.ts | 143 ++++++++++++++++++ .../src/endpoints/testingRelayWestend.ts | 9 ++ packages/apps-config/src/ui/colors.ts | 4 + .../src/ui/logos/chains/opal-logo.png | Bin 0 -> 14100 bytes packages/apps-config/src/ui/logos/index.ts | 5 + .../src/ui/logos/nodes/opal-logo.png | Bin 0 -> 14100 bytes 7 files changed, 163 insertions(+) create mode 100644 packages/apps-config/src/api/spec/unique-westend.ts create mode 100644 packages/apps-config/src/ui/logos/chains/opal-logo.png create mode 100644 packages/apps-config/src/ui/logos/nodes/opal-logo.png diff --git a/packages/apps-config/src/api/spec/index.ts b/packages/apps-config/src/api/spec/index.ts index 7848af66ee..c728506bcf 100644 --- a/packages/apps-config/src/api/spec/index.ts +++ b/packages/apps-config/src/api/spec/index.ts @@ -94,6 +94,7 @@ import ternoa from './ternoa'; import trustbase from './trustbase'; import uart from './uart'; import unique from './unique'; +import uniqueWestend from './unique-westend'; import unitv from './unitv'; import vln from './vln'; import vlnrococo from './vln-rococo'; @@ -192,6 +193,7 @@ const spec: Record = { 'node-template-spartan': subspace, 'nodle-chain': nodle, 'oak-testnet': oakTestnet, + opal: uniqueWestend, opportunity, 'origintrail-parachain': origintrail, parami, diff --git a/packages/apps-config/src/api/spec/unique-westend.ts b/packages/apps-config/src/api/spec/unique-westend.ts new file mode 100644 index 0000000000..7d1fc3daf9 --- /dev/null +++ b/packages/apps-config/src/api/spec/unique-westend.ts @@ -0,0 +1,143 @@ +// Copyright 2017-2021 @polkadot/apps-config authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +import type { OverrideBundleDefinition } from '@polkadot/types/types'; + +// structs need to be in order +/* eslint-disable sort-keys */ + +const definitions: OverrideBundleDefinition = { + types: [ + { + // on all versions + minmax: [0, undefined], + types: { + AccountInfo: 'AccountInfoWithTripleRefCount', + CrossAccountId: { + _enum: { + substrate: 'AccountId', + ethereum: 'H160' + } + }, + AccessMode: { + _enum: ['Normal', 'WhiteList'] + }, + CallSpec: { + Module: 'u32', + Method: 'u32' + }, + DecimalPoints: 'u8', + CollectionMode: { + _enum: { + NFT: null, + Fungible: 'DecimalPoints', + ReFungible: null + } + }, + Ownership: { + Owner: 'CrossAccountId', + Fraction: 'u128' + }, + FungibleItemType: { + Value: 'u128' + }, + NftItemType: { + Owner: 'CrossAccountId', + ConstData: 'Vec', + VariableData: 'Vec' + }, + ReFungibleItemType: { + Owner: 'Vec>', + ConstData: 'Vec', + VariableData: 'Vec' + }, + SponsorshipState: { + _enum: { + Disabled: null, + Unconfirmed: 'AccountId', + Confirmed: 'AccountId' + } + }, + Collection: { + Owner: 'AccountId', + Mode: 'CollectionMode', + Access: 'AccessMode', + DecimalPoints: 'DecimalPoints', + Name: 'Vec', + Description: 'Vec', + TokenPrefix: 'Vec', + MintMode: 'bool', + OffchainSchema: 'Vec', + SchemaVersion: 'SchemaVersion', + Sponsorship: 'SponsorshipState', + Limits: 'CollectionLimits', + VariableOnChainSchema: 'Vec', + ConstOnChainSchema: 'Vec', + MetaUpdatePermission: 'MetaUpdatePermission', + TransfersEnabled: 'bool' + }, + RawData: 'Vec', + Address: 'MultiAddress', + LookupSource: 'MultiAddress', + Weight: 'u64', + CreateNftData: { + const_data: 'Vec', + variable_data: 'Vec' + }, + CreateFungibleData: { + value: 'u128' + }, + CreateReFungibleData: { + const_data: 'Vec', + variable_data: 'Vec', + pieces: 'u128' + }, + CreateItemData: { + _enum: { + NFT: 'CreateNftData', + Fungible: 'CreateFungibleData', + ReFungible: 'CreateReFungibleData' + } + }, + SchemaVersion: { + _enum: [ + 'ImageURL', + 'Unique' + ] + }, + MetaUpdatePermission: { + _enum: [ + 'ItemOwner', + 'Admin', + 'None' + ] + }, + CollectionId: 'u32', + TokenId: 'u32', + ChainLimits: { + CollectionNumbersLimit: 'u32', + AccountTokenOwnershipLimit: 'u32', + CollectionAdminsLimit: 'u64', + CustomDataLimit: 'u32', + NftSponsorTimeout: 'u32', + FungibleSponsorTimeout: 'u32', + RefungibleSponsorTimeout: 'u32', + OffchainSchemaLimit: 'u32', + VariableOnChainSchemaLimit: 'u32', + ConstOnChainSchemaLimit: 'u32' + }, + CollectionLimits: { + AccountTokenOwnershipLimit: 'u32', + SponsoredDataSize: 'u32', + SponsoredDataRateLimit: 'Option', + TokenLimit: 'u32', + SponsorTimeout: 'u32', + OwnerCanTransfer: 'bool', + OwnerCanDestroy: 'bool' + } + } + } + ] +}; + +export default definitions; diff --git a/packages/apps-config/src/endpoints/testingRelayWestend.ts b/packages/apps-config/src/endpoints/testingRelayWestend.ts index 88c50ba82e..fc37f357f1 100644 --- a/packages/apps-config/src/endpoints/testingRelayWestend.ts +++ b/packages/apps-config/src/endpoints/testingRelayWestend.ts @@ -88,6 +88,15 @@ export function createWestend (t: TFunction): EndpointOption { PureStake: 'wss://wss.moonshadow.testnet.moonbeam.network' } }, + { + info: 'opal', + homepage: 'https://unique.network/', + paraId: 2096, + text: t('westend-opal.unique.network', 'OPAL by UNIQUE', { ns: 'apps-config' }), + providers: { + Unique: 'wss://westend-opal.unique.network' + } + }, { info: 'westendStandard', paraId: 2094, diff --git a/packages/apps-config/src/ui/colors.ts b/packages/apps-config/src/ui/colors.ts index f6a783c82d..34265b17c5 100644 --- a/packages/apps-config/src/ui/colors.ts +++ b/packages/apps-config/src/ui/colors.ts @@ -89,6 +89,7 @@ const chainZenlink = 'linear-gradient(45deg, #F20082 0%, #FF4D4D 100%)'; const chainJupiter = '#7143ff'; const chainUniarts = 'linear-gradient(150deg, #333ef7 0%, #55adff 100%)'; const chainUnique = '#40BCFF'; +const chainUniqueWestend = '#3B9C9D'; const chainIdavoll = '#ff43ff'; const chainSubDAO = 'linear-gradient(50deg, #F20092 0%, #FF4D5D 100%)'; const chainSubsocial = '#b9018c'; @@ -151,6 +152,7 @@ const nodeSubspace = 'linear-gradient(to left, rgba(32,90,172,1) 0%, rgba(26,72, const nodeTernoa = '#d622ff'; const nodeUniarts = chainUniarts; const nodeUnique = chainUnique; +const nodeUniqueWestend = chainUniqueWestend; const nodeWeb3games = 'linear-gradient(45deg, #0099F7 0%, #F11712 100%)'; const nodeWestlake = chainWestlake; const nodeZeitgeist = 'linear-gradient(180deg, rgba(32,90,172,1) 0%, rgba(26,72,138,1) 50%, rgba(13,36,69,1) 100%)'; @@ -249,6 +251,7 @@ export const chainColors: Record = Object.entries({ 'NFTMart Staging': chainNFTMart, 'NFTMart Testnet': chainNFTMart, 'OAK Testnet': chainOakTestnet, + 'Opal Node': chainUniqueWestend, 'OriginTrail Parachain': nodeOriginTrail, 'OriginTrail Parachain Testnet': nodeOriginTrail, Pangolin: chainPangolin, @@ -349,6 +352,7 @@ export const nodeColors = Object.entries({ 'NFTMart Testnet': nodeNFTMart, 'nodle chain node': nodeNodle, 'OAK Testnet': nodeOakTestnet, + 'Opal Node': nodeUniqueWestend, 'Opportunity Standalone Testnet': nodeOpportunity, 'OriginTrail Parachain': nodeOriginTrail, Pangolin: nodePangolin, diff --git a/packages/apps-config/src/ui/logos/chains/opal-logo.png b/packages/apps-config/src/ui/logos/chains/opal-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8fd3530719d2246240574e0e434f9ce55a0dfd96 GIT binary patch literal 14100 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 literal 0 HcmV?d00001 diff --git a/packages/apps-config/src/ui/logos/index.ts b/packages/apps-config/src/ui/logos/index.ts index 26df556e18..12f3ff5fd3 100644 --- a/packages/apps-config/src/ui/logos/index.ts +++ b/packages/apps-config/src/ui/logos/index.ts @@ -21,6 +21,7 @@ import chainInterBTC from './chains/interbtc.png'; import chainKarura from './chains/karura.svg'; import chainKintsugi from './chains/kintsugi.png'; import chainKusama from './chains/kusama-128.gif'; +import chainOpal from './chains/opal-logo.png'; import chainComposable from './chains/picasso.svg'; import chainRococo from './chains/rococo.svg'; import chainRococoTick from './chains/rococo-tick.svg'; @@ -97,6 +98,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 nodeUniqueWestend from './nodes/opal-logo.png'; import nodeOpportunity from './nodes/opportunity.png'; import nodeOriginTrail from './nodes/origintrail.png'; import nodePangolin from './nodes/pangolin.svg'; @@ -218,6 +220,7 @@ export const chainLogos = Object.entries({ 'NFTMart Staging': nodeNFTMart, 'NFTMart Testnet': nodeNFTMart, 'OAK Testnet': oakTestnet, + 'OPAL by UNIQUE': chainOpal, 'OriginTrail Parachain': nodeOriginTrail, 'OriginTrail Parachain Testnet': nodeOriginTrail, Pangolin: nodePangolin, @@ -350,6 +353,7 @@ export const nodeLogos = Object.entries({ 'node-template': nodeSubstrate, 'Nodle Chain Node': nodeNodle, 'OAK Testnet': oakTestnet, + 'Opal Node': nodeUniqueWestend, 'Opportunity Standalone Testnet': nodeOpportunity, 'OriginTrail Parachain': nodeOriginTrail, 'OriginTrail Parachain Testnet': nodeOriginTrail, @@ -509,6 +513,7 @@ export const namedLogos: Record = { nftmart: nodeNFTMart, nodle: nodeNodle, 'oak-testnet': oakTestnet, + opal: nodeUniqueWestend, opportunity: nodeOpportunity, 'origintrail-parachain-testnet': nodeOriginTrail, pangolin: nodePangolin, diff --git a/packages/apps-config/src/ui/logos/nodes/opal-logo.png b/packages/apps-config/src/ui/logos/nodes/opal-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8fd3530719d2246240574e0e434f9ce55a0dfd96 GIT binary patch literal 14100 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 literal 0 HcmV?d00001