From d63660d9378e2fe9f398bf98d8807931dbdc66c6 Mon Sep 17 00:00:00 2001 From: Giovanni Petrantoni <7008900+sinkingsugar@users.noreply.github.com> Date: Sun, 19 Mar 2023 18:24:25 +0800 Subject: [PATCH] Add Fragnova mainnet and testnet (#9198) * add the fragnova mainnet and testnet to the polkadot.js website * added npm package `@fragnova/api-augment@0.1.0-spec-1.0` * updated npm package `@fragnova/api-augment` to `0.1.0-spec-1.0.4-mainnet` * added comment in "fixupModules.cjs" --------- Co-authored-by: aang114 --- packages/apps-config/package.json | 1 + packages/apps-config/src/api/spec/fragnova.ts | 17 + packages/apps-config/src/api/spec/index.ts | 3 + packages/apps-config/src/api/typesBundle.ts | 460 ++++++++++++++++++ .../apps-config/src/endpoints/production.ts | 13 +- packages/apps-config/src/endpoints/testing.ts | 13 +- .../src/ui/logos/chains/fragnova.png | Bin 0 -> 33801 bytes .../ui/logos/chains/generated/fragnovaPNG.ts | 6 + .../apps-config/src/ui/logos/chains/index.ts | 1 + scripts/fixupModules.cjs | 2 + yarn.lock | 12 + 11 files changed, 526 insertions(+), 2 deletions(-) create mode 100644 packages/apps-config/src/api/spec/fragnova.ts create mode 100644 packages/apps-config/src/ui/logos/chains/fragnova.png create mode 100644 packages/apps-config/src/ui/logos/chains/generated/fragnovaPNG.ts diff --git a/packages/apps-config/package.json b/packages/apps-config/package.json index 0957a63763..b852084ef1 100644 --- a/packages/apps-config/package.json +++ b/packages/apps-config/package.json @@ -25,6 +25,7 @@ "@docknetwork/node-types": "0.15.0", "@edgeware/node-types": "3.6.2-wako", "@equilab/definitions": "1.4.18", + "@fragnova/api-augment": "0.1.0-spec-1.0.4-mainnet", "@frequency-chain/api-augment": "1.3.0", "@interlay/interbtc-types": "1.12.0", "@kiltprotocol/type-definitions": "0.31.1", diff --git a/packages/apps-config/src/api/spec/fragnova.ts b/packages/apps-config/src/api/spec/fragnova.ts new file mode 100644 index 0000000000..f786514fcf --- /dev/null +++ b/packages/apps-config/src/api/spec/fragnova.ts @@ -0,0 +1,17 @@ +// Copyright 2017-2023 @polkadot/apps-config authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +import type { OverrideBundleDefinition } from '@polkadot/types/types'; + +import { options } from '@fragnova/api-augment'; + +export default { + ...options, + types: [ + { + // on all versions + minmax: [0, undefined], + types: options.types + } + ] +} as OverrideBundleDefinition; diff --git a/packages/apps-config/src/api/spec/index.ts b/packages/apps-config/src/api/spec/index.ts index 2e43289c13..5562a2e1af 100644 --- a/packages/apps-config/src/api/spec/index.ts +++ b/packages/apps-config/src/api/spec/index.ts @@ -45,6 +45,7 @@ import encointerNodeTeeproxy from './encointer-node-teeproxy.js'; import encointerPara from './encointer-para.js'; import equilibrium from './equilibrium.js'; import fantour from './fantour.js'; +import fragnova from './fragnova.js'; import frequency from './frequency.js'; import galital from './galital.js'; import galitalParachain from './galital-parachain.js'; @@ -190,6 +191,8 @@ const spec: Record = { 'encointer-node-teeproxy': encointerNodeTeeproxy, 'encointer-parachain': encointerPara, fantour, + fragnova, + 'fragnova-testnet': fragnova, frequency, 'frequency-rococo': frequency, galital, diff --git a/packages/apps-config/src/api/typesBundle.ts b/packages/apps-config/src/api/typesBundle.ts index 804351deff..790bd897ff 100644 --- a/packages/apps-config/src/api/typesBundle.ts +++ b/packages/apps-config/src/api/typesBundle.ts @@ -54001,6 +54001,466 @@ export const typesBundle = { } ] }, + "fragnova": { + "rpc": { + "fragments": { + "getDefinitions": { + "description": "Query and Return Fragment Definition(s) based on `params`", + "type": "String", + "params": [ + { + "name": "param", + "type": "GetDefinitionsParams" + }, + { + "name": "at", + "type": "BlockHash", + "isOptional": true + } + ] + }, + "getInstances": { + "description": "Query and Return Fragment Instance(s) based on `params`", + "type": "String", + "params": [ + { + "name": "param", + "type": "GetInstancesParams" + }, + { + "name": "at", + "type": "BlockHash", + "isOptional": true + } + ] + }, + "getInstanceOwner": { + "description": "Query the owner of a Fragment Instance. The return type is a String", + "type": "String", + "params": [ + { + "name": "param", + "type": "GetInstanceOwnerParams" + }, + { + "name": "at", + "type": "BlockHash", + "isOptional": true + } + ] + } + }, + "protos": { + "getData": { + "description": "Query and Return Proto-Fragment data based on `proto_hash`. The **return type** is base64 encoded bytes.", + "type": "String", + "params": [ + { + "name": "proto_hash", + "type": "BlockHash" + }, + { + "name": "at", + "type": "BlockHash", + "isOptional": true + } + ] + }, + "getProtos": { + "description": "Query and Return Proto-Fragment(s) based on `params`. The return type is a JSON string", + "type": "String", + "params": [ + { + "name": "param", + "type": "GetProtosParams" + }, + { + "name": "at", + "type": "BlockHash", + "isOptional": true + } + ] + }, + "getGenealogy": { + "description": "Query the Genealogy of a Proto-Fragment based on `params`. The return type is a JSON string that represents an Adjacency List.", + "type": "String", + "params": [ + { + "name": "param", + "type": "GetGenealogyParams" + }, + { + "name": "at", + "type": "BlockHash", + "isOptional": true + } + ] + } + } + }, + "types": [ + { + "minmax": [ + 0, + null + ], + "types": { + "DefinitionMetadata": { + "name": "Vec", + "currency": "Option", + "_reserved1": "Option<()>", + "_reserved2": "Option<()>", + "_reserved3": "Option<()>" + }, + "GetDefinitionsParams": { + "desc": "bool", + "from": "u64", + "limit": "u64", + "metadata_keys": "Vec", + "owner": "Option", + "return_owners": "bool" + }, + "GetInstancesParams": { + "desc": "bool", + "from": "u64", + "limit": "u64", + "definition_hash": "String", + "metadata_keys": "Vec", + "owner": "Option", + "only_return_first_copies": "bool" + }, + "GetInstanceOwnerParams": { + "definition_hash": "String", + "edition_id": "InstanceUnit", + "copy_id": "InstanceUnit" + }, + "InstanceUnit": "u64", + "Categories": { + "_enum": { + "text": "TextCategories", + "trait": "Option", + "shards": "ShardsScriptInfo", + "audio": "AudioCategories", + "texture": "TextureCategories", + "vector": "VectorCategories", + "video": "VideoCategories", + "model": "ModelCategories", + "binary": "BinaryCategories" + } + }, + "AudioCategories": { + "_enum": [ + "oggFile", + "mp3File" + ] + }, + "ModelCategories": { + "_enum": [ + "gltfFile", + "sdf", + "physicsCollider" + ] + }, + "TextureCategories": { + "_enum": [ + "pngFile", + "jpgFile" + ] + }, + "VectorCategories": { + "_enum": [ + "svgFile", + "ttfFile", + "otfFile" + ] + }, + "VideoCategories": { + "_enum": [ + "mkvFile", + "mp4File" + ] + }, + "TextCategories": { + "_enum": [ + "plain", + "json", + "wgsl", + "markdown" + ] + }, + "BinaryCategories": { + "_enum": [ + "wasmProgram", + "wasmReactor", + "blendFile", + "onnxModel", + "safeTensors", + "rareDomain" + ] + }, + "ShardsScriptInfo": { + "format": "ShardsFormat", + "shardsVersion": "Compact", + "requiring": "Vec", + "implementing": "Vec" + }, + "ShardsTrait": "Vec", + "ShardsFormat": { + "_enum": [ + "edn", + "binary" + ] + }, + "GetProtosParams": { + "desc": "bool", + "from": "u32", + "limit": "u32", + "metadata_keys": "Vec", + "owner": "Option", + "return_owners": "bool", + "categories": "Vec", + "tags": "Vec", + "exclude_tags": "Vec", + "available": "Option" + }, + "GetGenealogyParams": { + "proto_hash": "String", + "get_ancestors": "bool" + } + } + } + ] + }, + "fragnova-testnet": { + "rpc": { + "fragments": { + "getDefinitions": { + "description": "Query and Return Fragment Definition(s) based on `params`", + "type": "String", + "params": [ + { + "name": "param", + "type": "GetDefinitionsParams" + }, + { + "name": "at", + "type": "BlockHash", + "isOptional": true + } + ] + }, + "getInstances": { + "description": "Query and Return Fragment Instance(s) based on `params`", + "type": "String", + "params": [ + { + "name": "param", + "type": "GetInstancesParams" + }, + { + "name": "at", + "type": "BlockHash", + "isOptional": true + } + ] + }, + "getInstanceOwner": { + "description": "Query the owner of a Fragment Instance. The return type is a String", + "type": "String", + "params": [ + { + "name": "param", + "type": "GetInstanceOwnerParams" + }, + { + "name": "at", + "type": "BlockHash", + "isOptional": true + } + ] + } + }, + "protos": { + "getData": { + "description": "Query and Return Proto-Fragment data based on `proto_hash`. The **return type** is base64 encoded bytes.", + "type": "String", + "params": [ + { + "name": "proto_hash", + "type": "BlockHash" + }, + { + "name": "at", + "type": "BlockHash", + "isOptional": true + } + ] + }, + "getProtos": { + "description": "Query and Return Proto-Fragment(s) based on `params`. The return type is a JSON string", + "type": "String", + "params": [ + { + "name": "param", + "type": "GetProtosParams" + }, + { + "name": "at", + "type": "BlockHash", + "isOptional": true + } + ] + }, + "getGenealogy": { + "description": "Query the Genealogy of a Proto-Fragment based on `params`. The return type is a JSON string that represents an Adjacency List.", + "type": "String", + "params": [ + { + "name": "param", + "type": "GetGenealogyParams" + }, + { + "name": "at", + "type": "BlockHash", + "isOptional": true + } + ] + } + } + }, + "types": [ + { + "minmax": [ + 0, + null + ], + "types": { + "DefinitionMetadata": { + "name": "Vec", + "currency": "Option", + "_reserved1": "Option<()>", + "_reserved2": "Option<()>", + "_reserved3": "Option<()>" + }, + "GetDefinitionsParams": { + "desc": "bool", + "from": "u64", + "limit": "u64", + "metadata_keys": "Vec", + "owner": "Option", + "return_owners": "bool" + }, + "GetInstancesParams": { + "desc": "bool", + "from": "u64", + "limit": "u64", + "definition_hash": "String", + "metadata_keys": "Vec", + "owner": "Option", + "only_return_first_copies": "bool" + }, + "GetInstanceOwnerParams": { + "definition_hash": "String", + "edition_id": "InstanceUnit", + "copy_id": "InstanceUnit" + }, + "InstanceUnit": "u64", + "Categories": { + "_enum": { + "text": "TextCategories", + "trait": "Option", + "shards": "ShardsScriptInfo", + "audio": "AudioCategories", + "texture": "TextureCategories", + "vector": "VectorCategories", + "video": "VideoCategories", + "model": "ModelCategories", + "binary": "BinaryCategories" + } + }, + "AudioCategories": { + "_enum": [ + "oggFile", + "mp3File" + ] + }, + "ModelCategories": { + "_enum": [ + "gltfFile", + "sdf", + "physicsCollider" + ] + }, + "TextureCategories": { + "_enum": [ + "pngFile", + "jpgFile" + ] + }, + "VectorCategories": { + "_enum": [ + "svgFile", + "ttfFile", + "otfFile" + ] + }, + "VideoCategories": { + "_enum": [ + "mkvFile", + "mp4File" + ] + }, + "TextCategories": { + "_enum": [ + "plain", + "json", + "wgsl", + "markdown" + ] + }, + "BinaryCategories": { + "_enum": [ + "wasmProgram", + "wasmReactor", + "blendFile", + "onnxModel", + "safeTensors", + "rareDomain" + ] + }, + "ShardsScriptInfo": { + "format": "ShardsFormat", + "shardsVersion": "Compact", + "requiring": "Vec", + "implementing": "Vec" + }, + "ShardsTrait": "Vec", + "ShardsFormat": { + "_enum": [ + "edn", + "binary" + ] + }, + "GetProtosParams": { + "desc": "bool", + "from": "u32", + "limit": "u32", + "metadata_keys": "Vec", + "owner": "Option", + "return_owners": "bool", + "categories": "Vec", + "tags": "Vec", + "exclude_tags": "Vec", + "available": "Option" + }, + "GetGenealogyParams": { + "proto_hash": "String", + "get_ancestors": "bool" + } + } + } + ] + }, "frequency": { "rpc": { "frequency": { diff --git a/packages/apps-config/src/endpoints/production.ts b/packages/apps-config/src/endpoints/production.ts index 330ebf4d04..177cea47bb 100644 --- a/packages/apps-config/src/endpoints/production.ts +++ b/packages/apps-config/src/endpoints/production.ts @@ -3,7 +3,7 @@ import type { EndpointOption } from './types.js'; -import { chains3dpassPNG, chainsAlephSVG, chainsBittensorPNG, chainsCreditcoinPNG, chainsDebioSVG, chainsEquilibriumSVG, chainsGenshiroSVG, chainsLogionPNG, chainsMyriadPNG, chainsSpannerPNG } from '../ui/logos/chains/index.js'; +import { chains3dpassPNG, chainsAlephSVG, chainsBittensorPNG, chainsCreditcoinPNG, chainsDebioSVG, chainsEquilibriumSVG, chainsFragnovaPNG, chainsGenshiroSVG, chainsLogionPNG, chainsMyriadPNG, chainsSpannerPNG } from '../ui/logos/chains/index.js'; import { nodesAresOdysseySVG, nodesAutomataPNG, nodesCentrifugePNG, nodesChainxSVG, nodesCompetitorsClubPNG, nodesCrownSterlingPNG, nodesCrustSVG, nodesDarwiniaSVG, nodesDatahighwayPNG, nodesDockPNG, nodesEdgewareWhitePNG, nodesEfinitySVG, nodesHanyonycashPNG, nodesHumanodePNG, nodesJoystreamSVG, nodesKulupuSVG, nodesKusariSVG, nodesMathSVG, nodesMinixPNG, nodesNftmartPNG, nodesNodleSVG, nodesPolkadexSVG, nodesPolymeshSVG, nodesRiochainSVG, nodesRobonomicsSVG, nodesSherpaxPNG, nodesSoraSubstrateSVG, nodesStafiPNG, nodesSubgameSVG, nodesSubsocialSVG, nodesSwapdexSVG, nodesTernoaSVG, nodesThebifrostPNG, nodesUniartsPNG, nodesUnitnetworkPNG } from '../ui/logos/nodes/index.js'; export * from './productionRelayKusama.js'; @@ -208,6 +208,17 @@ export const prodChains: EndpointOption[] = [ logo: chainsEquilibriumSVG } }, + { + info: 'fragnova', + providers: { // The actual hosted secure websocket endpoint + 'Fragnova Network': 'wss://ws.fragnova.network' + }, + text: 'Fragnova', // The text to display on the dropdown + ui: { + color: '#6b35a8', + logo: chainsFragnovaPNG + } + }, { info: 'genshiro', providers: { diff --git a/packages/apps-config/src/endpoints/testing.ts b/packages/apps-config/src/endpoints/testing.ts index 2873e14bfe..48d2a9105d 100644 --- a/packages/apps-config/src/endpoints/testing.ts +++ b/packages/apps-config/src/endpoints/testing.ts @@ -3,7 +3,7 @@ import type { EndpointOption } from './types.js'; -import { chains3dpassPNG, chainsAcalaSVG, chainsAlephSVG, chainsBrainstormPNG, chainsCreditcoinTestPNG, chainsDebioSVG, chainsEquilibriumSVG, chainsFerrumPNG, chainsKintsugiPNG, chainsLogionPNG, chainsMyriadPNG, chainsShidenPNG, chainsSkyekiwiPNG, chainsTanglePNG, chainsVaraSVG } from '../ui/logos/chains/index.js'; +import { chains3dpassPNG, chainsAcalaSVG, chainsAlephSVG, chainsBrainstormPNG, chainsCreditcoinTestPNG, chainsDebioSVG, chainsEquilibriumSVG, chainsFerrumPNG, chainsFragnovaPNG, chainsKintsugiPNG, chainsLogionPNG, chainsMyriadPNG, chainsShidenPNG, chainsSkyekiwiPNG, chainsTanglePNG, chainsVaraSVG } from '../ui/logos/chains/index.js'; import { nodesAjunaPNG, nodesArcticPNG, nodesAresGladiosSVG, nodesAutomataPNG, nodesBifrostSVG, nodesBitcountryPNG, nodesCessPNG, nodesCloverSVG, nodesCrustMaxwellSVG, nodesCurioSVG, nodesDatahighwayPNG, nodesDockPNG, nodesDolphinSVG, nodesDotmogSVG, nodesEdgewareWhitePNG, nodesEncointerBlueSVG, nodesFantourPNG, nodesGalitalLogoPNG, nodesGamepowerSVG, nodesGeekSVG, nodesInterlaySVG, nodesIpsePNG, nodesJazPNG, nodesJupiterSVG, nodesKhalaSVG, nodesKiltPNG, nodesKlugPNG, nodesKylinPNG, nodesLaminarCircleSVG, nodesLitentryPNG, nodesMantaPNG, nodesMathSVG, nodesMinixPNG, nodesMoonbaseAlphaSVG, nodesMybankPNG, nodesNftmartPNG, nodesNodleSVG, nodesOpalLogoPNG, nodesOpportunityPNG, nodesPangoroSVG, nodesPhalaSVG, nodesPhoenixPNG, nodesPichiuPNG, nodesPolkadexSVG, nodesPolkafoundrySVG, nodesPolymeshSVG, nodesPontemSVG, nodesPrismPNG, nodesRealisPNG, nodesRiochainSVG, nodesSherpaxPNG, nodesSoonsocialPNG, nodesSoraSubstrateSVG, nodesSubdaoPNG, nodesSubgameSVG, nodesSubspacePNG, nodesSubstrateHexagonSVG, nodesTernoaSVG, nodesThebifrostPNG, nodesUniartsPNG, nodesUniqueSVG, nodesUnitnetworkPNG, nodesWeb3gamesSVG, nodesZCloakSVG } from '../ui/logos/nodes/index.js'; export * from './testingRelayRococo.js'; @@ -299,6 +299,17 @@ export const testChains: EndpointOption[] = [ logo: nodesSubstrateHexagonSVG } }, + { + info: 'fragnova', + providers: { // The actual hosted secure websocket endpoint + 'Fragnova Network': 'wss://ws-test.fragnova.network' + }, + text: 'Fragnova Testnet', // The text to display on the dropdown + ui: { + color: '#6b35a8', + logo: chainsFragnovaPNG + } + }, { info: 'Galital', providers: { diff --git a/packages/apps-config/src/ui/logos/chains/fragnova.png b/packages/apps-config/src/ui/logos/chains/fragnova.png new file mode 100644 index 0000000000000000000000000000000000000000..b89a0fa3397839c132d71e7e3f0983abb6e52d14 GIT binary patch literal 33801 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%0A*?osQgdB!my0*6^8tM!GjX$_A=vQiRE;=ll@lD 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 { diff --git a/yarn.lock b/yarn.lock index f79c9322ad..3363c7194b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -674,6 +674,17 @@ __metadata: languageName: node linkType: hard +"@fragnova/api-augment@npm:0.1.0-spec-1.0.4-mainnet": + version: 0.1.0-spec-1.0.4-mainnet + resolution: "@fragnova/api-augment@npm:0.1.0-spec-1.0.4-mainnet" + dependencies: + "@polkadot/api": ^9.13.2 + "@polkadot/rpc-provider": ^9.13.2 + "@polkadot/types": ^9.13.2 + checksum: 88b5b878693b55b1ff32f6be1308e68ed0a5871a4e2e0aa42aacc1fa2514135a6083dbdbf5d03aa6dd7c615bf9a0d4b9a4ed4231871b54ce5cb154375c32cdcc + languageName: node + linkType: hard + "@frequency-chain/api-augment@npm:1.3.0": version: 1.3.0 resolution: "@frequency-chain/api-augment@npm:1.3.0" @@ -1684,6 +1695,7 @@ __metadata: "@docknetwork/node-types": 0.15.0 "@edgeware/node-types": 3.6.2-wako "@equilab/definitions": 1.4.18 + "@fragnova/api-augment": 0.1.0-spec-1.0.4-mainnet "@frequency-chain/api-augment": 1.3.0 "@interlay/interbtc-types": 1.12.0 "@kiltprotocol/type-definitions": 0.31.1