diff --git a/packages/apps-config/src/api/spec/index.ts b/packages/apps-config/src/api/spec/index.ts index ec46080dac48..3880f1920bc6 100644 --- a/packages/apps-config/src/api/spec/index.ts +++ b/packages/apps-config/src/api/spec/index.ts @@ -126,6 +126,7 @@ import substrateContractsNode from './substrateContractsNode.js'; import swapdex from './swapdex.js'; import t0rn from './t0rn.js'; import ternoa from './ternoa.js'; +import torus from './torus.js'; import trustbase from './trustbase.js'; import turing from './turing.js'; import uart from './uart.js'; @@ -305,6 +306,7 @@ const spec: Record = { ternoa, 'testnet-interlay': interbtc, 'testnet-kintsugi': interbtc, + torus, trustbase, turing, uart, diff --git a/packages/apps-config/src/api/spec/torus.ts b/packages/apps-config/src/api/spec/torus.ts new file mode 100644 index 000000000000..7f560dfa2c9f --- /dev/null +++ b/packages/apps-config/src/api/spec/torus.ts @@ -0,0 +1,34 @@ +// Copyright 2017-2025 @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: { + Balance: 'u128', + ValidatorFee: { + stakingFee: 'Percent', + weightControlFee: 'Percent' + }, + AgentMetadata: { + key: 'AccountId32', + name: 'Vec', + url: 'Vec', + metadata: 'Vec', + weight_penalty_factor: 'Percent', + registration_block: 'u64', + fees: 'ValidatorFee' + } + } + } + ] +}; + +export default definitions; diff --git a/packages/apps-config/src/api/typesBundle.ts b/packages/apps-config/src/api/typesBundle.ts index 517eecff56b8..e0f0a8803c16 100644 --- a/packages/apps-config/src/api/typesBundle.ts +++ b/packages/apps-config/src/api/typesBundle.ts @@ -98875,6 +98875,32 @@ export const typesBundle = { } } }, + "torus": { + "types": [ + { + "minmax": [ + 0, + null + ], + "types": { + "Balance": "u128", + "ValidatorFee": { + "stakingFee": "Percent", + "weightControlFee": "Percent" + }, + "AgentMetadata": { + "key": "AccountId32", + "name": "Vec", + "url": "Vec", + "metadata": "Vec", + "weight_penalty_factor": "Percent", + "registration_block": "u64", + "fees": "ValidatorFee" + } + } + } + ] + }, "trustbase": { "types": [ { diff --git a/packages/apps-config/src/endpoints/production.ts b/packages/apps-config/src/endpoints/production.ts index 07b0f95c5884..3dccbc1103c5 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 { chains3dpassSVG, chainsAlephSVG, chainsAnalogSVG, chainsBittensorPNG, chainsChainflipPNG, chainsCommuneaiPNG, chainsCreditcoinPNG, chainsDebioSVG, chainsFragnovaPNG, chainsJurPNG, chainsLiberlandPNG, chainsLogionPNG, chainsMyriadPNG, chainsSpannerPNG, chainsTanglePNG, chainsVaraPNG, chainsVtbPNG } from '../ui/logos/chains/index.js'; +import { chains3dpassSVG, chainsAlephSVG, chainsAnalogSVG, chainsBittensorPNG, chainsChainflipPNG, chainsCommuneaiPNG, chainsCreditcoinPNG, chainsDebioSVG, chainsFragnovaPNG, chainsJurPNG, chainsLiberlandPNG, chainsLogionPNG, chainsMyriadPNG, chainsSpannerPNG, chainsTanglePNG, chainsTorusPNG, chainsVaraPNG, chainsVtbPNG } from '../ui/logos/chains/index.js'; import { nodesAresOdysseySVG, nodesAutonomysPNG, nodesCentrifugePNG, nodesCereSVG, nodesChainxSVG, nodesCompetitorsClubPNG, nodesCrownSterlingPNG, nodesCrustSVG, nodesDatahighwayPNG, nodesDockPNG, nodesEdgewareWhitePNG, nodesEfinitySVG, nodesElysiumPNG, nodesHanyonycashPNG, nodesHumanodePNG, nodesInnovatorPNG, 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'; @@ -605,6 +605,17 @@ export const prodChains: Omit[] = [ logo: nodesTernoaSVG } }, + { + info: 'torus', + providers: { + mainnet: 'wss://api.torus.network' + }, + text: 'Torus', + ui: { + color: '#070A0E', + logo: chainsTorusPNG + } + }, { info: 'uniarts', providers: { diff --git a/packages/apps-config/src/ui/logos/chains/generated/torusPNG.ts b/packages/apps-config/src/ui/logos/chains/generated/torusPNG.ts new file mode 100644 index 000000000000..4fb6275e71d8 --- /dev/null +++ b/packages/apps-config/src/ui/logos/chains/generated/torusPNG.ts @@ -0,0 +1,6 @@ +// Copyright 2017-2025 @polkadot/apps authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +// Do not edit. Auto-generated via node scripts/imgConvert.mjs + +export const chainsTorusPNG = 'data:image/png;base64,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'; diff --git a/packages/apps-config/src/ui/logos/chains/index.ts b/packages/apps-config/src/ui/logos/chains/index.ts index 751980ca3548..c20103cf2752 100644 --- a/packages/apps-config/src/ui/logos/chains/index.ts +++ b/packages/apps-config/src/ui/logos/chains/index.ts @@ -76,6 +76,7 @@ export { chainsStandardPNG } from './generated/standardPNG.js'; export { chainsT0rnPNG } from './generated/t0rnPNG.js'; export { chainsTanglePNG } from './generated/tanglePNG.js'; export { chainsTinkerPNG } from './generated/tinkerPNG.js'; +export { chainsTorusPNG } from './generated/torusPNG.js'; export { chainsTotemSVG } from './generated/totemSVG.js'; export { chainsTuringPNG } from './generated/turingPNG.js'; export { chainsUnorthodoxPNG } from './generated/unorthodoxPNG.js'; diff --git a/packages/apps-config/src/ui/logos/chains/torus.png b/packages/apps-config/src/ui/logos/chains/torus.png new file mode 100644 index 000000000000..3c7463b9a3dd Binary files /dev/null and b/packages/apps-config/src/ui/logos/chains/torus.png differ