From 435962eff6da2f8ec19834ee235ec063cbbaec3e Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Wed, 1 Dec 2021 16:21:17 +0300 Subject: [PATCH] Unique: Move Opal, convert quarts and opal to Metadata v14 (#6608) * Unique: Move Opal, convert quarts and opal to Metadata v14 * Unique: Remove trailing commas * Unique: Fix type import * Unique: Fix types + definitions import * Unique: Update fix for types + definitions import * Unique: Add empty lines between imports to fix linter errors * Unique: Move Opal to correct alphabetical location * Add Quartz US and Europe endpoints --- packages/apps-config/package.json | 1 + packages/apps-config/src/api/spec/index.ts | 4 +- packages/apps-config/src/api/spec/opal.ts | 10 ++ packages/apps-config/src/api/spec/quartz.ts | 141 +---------------- .../src/api/spec/unique-westend.ts | 143 ------------------ .../src/endpoints/productionRelayKusama.ts | 4 +- packages/apps-config/src/endpoints/testing.ts | 7 + .../src/endpoints/testingRelayWestend.ts | 10 -- packages/apps-config/src/ui/colors.ts | 8 +- yarn.lock | 11 ++ 10 files changed, 42 insertions(+), 297 deletions(-) create mode 100644 packages/apps-config/src/api/spec/opal.ts delete mode 100644 packages/apps-config/src/api/spec/unique-westend.ts diff --git a/packages/apps-config/package.json b/packages/apps-config/package.json index 70c5128661..b8d4fc601b 100644 --- a/packages/apps-config/package.json +++ b/packages/apps-config/package.json @@ -33,6 +33,7 @@ "@snowfork/snowbridge-types": "0.2.6", "@sora-substrate/type-definitions": "1.6.22", "@subsocial/types": "0.6.5-dev.6", + "@unique-nft/types": "0.2.0", "@zeitgeistpm/type-defs": "0.3.5", "@zeroio/type-definitions": "0.0.13", "lodash": "^4.17.21", diff --git a/packages/apps-config/src/api/spec/index.ts b/packages/apps-config/src/api/spec/index.ts index 3b6f167ef1..fe8c20ea03 100644 --- a/packages/apps-config/src/api/spec/index.ts +++ b/packages/apps-config/src/api/spec/index.ts @@ -70,6 +70,7 @@ import neatcoin from './neatcoin'; import nftmart from './nftmart'; import nodle from './nodle'; import oakTestnet from './oak-testnet'; +import opal from './opal'; import opportunity from './opportunity'; import origintrail from './origintrail'; import pangolin from './pangolin'; @@ -104,7 +105,6 @@ 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'; @@ -209,7 +209,7 @@ const spec: Record = { 'node-polkadex': polkadex, 'nodle-chain': nodle, 'oak-testnet': oakTestnet, - opal: uniqueWestend, + opal: opal, opportunity, 'origintrail-parachain': origintrail, parallel, diff --git a/packages/apps-config/src/api/spec/opal.ts b/packages/apps-config/src/api/spec/opal.ts new file mode 100644 index 0000000000..aa3be9ad7b --- /dev/null +++ b/packages/apps-config/src/api/spec/opal.ts @@ -0,0 +1,10 @@ +// Copyright 2017-2021 @polkadot/apps-config authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +import type { OverrideBundleDefinition } from '@polkadot/types/types'; + +import { unique } from '@unique-nft/types/definitions'; + +export default { + rpc: { unique: unique.rpc } +} as OverrideBundleDefinition; diff --git a/packages/apps-config/src/api/spec/quartz.ts b/packages/apps-config/src/api/spec/quartz.ts index 7d1fc3daf9..aa3be9ad7b 100644 --- a/packages/apps-config/src/api/spec/quartz.ts +++ b/packages/apps-config/src/api/spec/quartz.ts @@ -3,141 +3,8 @@ import type { OverrideBundleDefinition } from '@polkadot/types/types'; -// structs need to be in order -/* eslint-disable sort-keys */ +import { unique } from '@unique-nft/types/definitions'; -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; +export default { + rpc: { unique: unique.rpc } +} as OverrideBundleDefinition; diff --git a/packages/apps-config/src/api/spec/unique-westend.ts b/packages/apps-config/src/api/spec/unique-westend.ts deleted file mode 100644 index 7d1fc3daf9..0000000000 --- a/packages/apps-config/src/api/spec/unique-westend.ts +++ /dev/null @@ -1,143 +0,0 @@ -// 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/productionRelayKusama.ts b/packages/apps-config/src/endpoints/productionRelayKusama.ts index 37013c418f..1d71efbba6 100644 --- a/packages/apps-config/src/endpoints/productionRelayKusama.ts +++ b/packages/apps-config/src/endpoints/productionRelayKusama.ts @@ -258,7 +258,9 @@ export function createKusama (t: TFunction): EndpointOption { paraId: 2095, text: t('quartz.unique.network', 'QUARTZ by UNIQUE', { ns: 'apps-config' }), providers: { - Unique: 'wss://quartz.unique.network' + Unique: 'wss://quartz.unique.network', + 'Unique Europe': 'wss://eu-ws-quartz.unique.network', + 'Unique US': 'wss://us-ws-quartz.unique.network' } }, { diff --git a/packages/apps-config/src/endpoints/testing.ts b/packages/apps-config/src/endpoints/testing.ts index 4779cb9978..a8deb0c1b4 100644 --- a/packages/apps-config/src/endpoints/testing.ts +++ b/packages/apps-config/src/endpoints/testing.ts @@ -317,6 +317,13 @@ export function createTesting (t: TFunction, firstOnly: boolean, withSort: boole 'OAK Network': 'wss://rpc.testnet.oak.tech' } }, + { + info: 'opal', + text: t('opal.unique.network', 'OPAL by UNIQUE', { ns: 'apps-config' }), + providers: { + Unique: 'wss://opal.unique.network' + } + }, { info: 'opportunity', text: t('rpc.test.opportunity', 'Opportunity', { ns: 'apps-config' }), diff --git a/packages/apps-config/src/endpoints/testingRelayWestend.ts b/packages/apps-config/src/endpoints/testingRelayWestend.ts index 3145cd34dd..02df115b75 100644 --- a/packages/apps-config/src/endpoints/testingRelayWestend.ts +++ b/packages/apps-config/src/endpoints/testingRelayWestend.ts @@ -98,16 +98,6 @@ export function createWestend (t: TFunction): EndpointOption { PureStake: 'wss://wss.moonshadow.testnet.moonbeam.network' } }, - { - info: 'opal', - isUnreachable: true, // https://github.com/polkadot-js/apps/issues/6456 - 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: 'pangoro', isUnreachable: true, // https://github.com/polkadot-js/apps/issues/6530 diff --git a/packages/apps-config/src/ui/colors.ts b/packages/apps-config/src/ui/colors.ts index 05b32fc229..464d9b48a7 100644 --- a/packages/apps-config/src/ui/colors.ts +++ b/packages/apps-config/src/ui/colors.ts @@ -72,6 +72,7 @@ const chainKusama = '#000000'; const chainKylin = '#ed007e'; const chainLitentry = 'linear-gradient(45deg, #5cc27c 0%, #6de98f 100%)'; const chainMybank = '#282736'; +const chainOpal = '#3B9C9D'; const chainPichiu = '#ed007e'; const chainQuartz = '#FF4D6A'; const chainRocco = '#6f36dc'; @@ -101,7 +102,6 @@ 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'; @@ -172,7 +172,7 @@ const nodeSubspace = '#562b8e'; const nodeTernoa = '#d622ff'; const nodeUniarts = chainUniarts; const nodeUnique = chainUnique; -const nodeUniqueWestend = chainUniqueWestend; +const nodeOpal = chainOpal; const nodeWeb3games = '#000000'; 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%)'; @@ -287,7 +287,7 @@ export const chainColors: Record = Object.entries({ 'NFTMart Staging': chainNFTMart, 'NFTMart Testnet': chainNFTMart, 'OAK Testnet': chainOakTestnet, - 'Opal Node': chainUniqueWestend, + 'Opal Node': chainOpal, 'OriginTrail Parachain': nodeOriginTrail, 'OriginTrail Parachain Testnet': nodeOriginTrail, Pangolin: chainPangolin, @@ -400,7 +400,7 @@ export const nodeColors = Object.entries({ 'NFTMart Testnet': nodeNFTMart, 'nodle chain node': nodeNodle, 'OAK Testnet': nodeOakTestnet, - 'Opal Node': nodeUniqueWestend, + 'Opal Node': nodeOpal, 'Opportunity Standalone Testnet': nodeOpportunity, 'OriginTrail Parachain': nodeOriginTrail, Pangolin: nodePangolin, diff --git a/yarn.lock b/yarn.lock index 2298212744..70dbc2b547 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2840,6 +2840,7 @@ __metadata: "@snowfork/snowbridge-types": 0.2.6 "@sora-substrate/type-definitions": 1.6.22 "@subsocial/types": 0.6.5-dev.6 + "@unique-nft/types": 0.2.0 "@zeitgeistpm/type-defs": 0.3.5 "@zeroio/type-definitions": 0.0.13 i18next: ^21.5.2 @@ -4779,6 +4780,16 @@ __metadata: languageName: node linkType: hard +"@unique-nft/types@npm:0.2.0": + version: 0.2.0 + resolution: "@unique-nft/types@npm:0.2.0" + peerDependencies: + "@polkadot/api": ^6.9.2 + "@polkadot/types": ^6.9.2 + checksum: 838b1fb957fb7da88d75347c00a0eba47c3c36f78c6de7d3a5960bae395ea9063b1058f1ab571d55b89f16890ccc242341a77ba51ff896cc4f06afc84788dcbc + languageName: node + linkType: hard + "@vue/component-compiler-utils@npm:^3.3.0": version: 3.3.0 resolution: "@vue/component-compiler-utils@npm:3.3.0"