diff --git a/packages/apps-config/src/api/spec/crust.ts b/packages/apps-config/src/api/spec/crust.ts new file mode 100644 index 000000000000..fb297ece3374 --- /dev/null +++ b/packages/apps-config/src/api/spec/crust.ts @@ -0,0 +1,70 @@ +export default { + Address: 'AccountId', + AddressInfo: 'Vec', + FileAlias: 'Vec', + Guarantee: { + targets: 'Vec>', + total: 'Compact', + submitted_in: 'EraIndex', + suppressed: 'bool' + }, + IASSig: 'Vec', + Identity: { + pub_key: 'Vec', + code: 'Vec', + }, + ISVBody: 'Vec', + LookupSource: 'AccountId', + MerchantInfo: { + address: 'Vec', + storage_price: 'Balance', + file_map: 'Vec<(Vec, Vec)>', + }, + MerchantPunishment: { + success: 'EraIndex', + failed: 'EraIndex', + value: 'Balance', + }, + MerkleRoot: 'Vec', + OrderStatus: { + _enum: ['Success', 'Failed', 'Pending'], + }, + PaymentLedger: { + total: 'Balance', + paid: 'Balance', + unreserved: 'Balance', + }, + Pledge: { + total: 'Balance', + used: 'Balance', + }, + ReportSlot: 'u64', + Releases: { + _enum: ['V1_0_0', 'V2_0_0'], + }, + Status: { + _enum: ['Free', 'Reserved'] + }, + StorageOrder: { + file_identifier: 'Vec', + file_size: 'u64', + created_on: 'BlockNumber', + completed_on: 'BlockNumber', + expired_on: 'BlockNumber', + provider: 'AccountId', + client: 'AccountId', + amount: 'Balance', + order_status: 'OrderStatus', + }, + SworkerCert: 'Vec', + SworkerCode: 'Vec', + SworkerPubKey: 'Vec', + SworkerSignature: 'Vec', + WorkReport: { + block_number: 'u64', + used: 'u64', + reserved: 'u64', + cached_reserved: 'u64', + files: 'Vec<(Vec, u64)>', + } +}; \ No newline at end of file diff --git a/packages/apps-config/src/api/spec/index.ts b/packages/apps-config/src/api/spec/index.ts index 97880d2640be..cf89ac9e604b 100644 --- a/packages/apps-config/src/api/spec/index.ts +++ b/packages/apps-config/src/api/spec/index.ts @@ -18,6 +18,7 @@ import nodle from './nodle'; import plasm from './plasm'; import stablePoc from './stable-poc'; import subsocialNode from './subsocial'; +import crust from './crust'; export default { Crab: crab, @@ -38,5 +39,6 @@ export default { plasm, 'stable-poc': stablePoc, stable_poc: stablePoc, - subsocial: subsocialNode + subsocial: subsocialNode, + crust }; diff --git a/packages/apps-config/src/settings/endpoints.ts b/packages/apps-config/src/settings/endpoints.ts index e7c63bbce51d..43538c0e3872 100644 --- a/packages/apps-config/src/settings/endpoints.ts +++ b/packages/apps-config/src/settings/endpoints.ts @@ -232,6 +232,11 @@ function createTestNetworks (t: TFunction): LinkOption[] { info: 'westend', text: t('rpc.westend', 'Westend (Polkadot Testnet, hosted by Parity)', { ns: 'apps-config' }), value: 'wss://westend-rpc.polkadot.io' + }, + { + info: 'crust', + text: t('rpc.crust.network', 'Crust Maxwell CC2 (Crust Testnet, hosted by Crust Network)', { ns: 'apps-config' }), + value: 'wss://api.crust.network/' } ]; } diff --git a/packages/apps-config/src/ui/general/index.ts b/packages/apps-config/src/ui/general/index.ts index 7c740bc00b85..410ea9ee3ea9 100644 --- a/packages/apps-config/src/ui/general/index.ts +++ b/packages/apps-config/src/ui/general/index.ts @@ -18,6 +18,7 @@ const chainRoccoDarwinia = '#7C30DD'; const laminarRoccoAcala = '#004FFF'; const chainWestend = '#da68a7'; const chainPhala = '#4dc56a'; +const chainCrust = '#ff8812' const nodeCentrifuge = '#fcc367'; const nodeEdgeware = '#0a95df'; @@ -43,7 +44,8 @@ const chainColors: Record = [ ['darwinia parachain', chainRoccoDarwinia], ['laminar turbulence pc1', laminarRoccoAcala], ['Westend', chainWestend], - ['phala poc 2', chainPhala] + ['phala poc 2', chainPhala], + ['crust maxwell cc2', chainCrust] ].reduce((colors, [chain, color]): Record => ({ ...colors, [chain.toLowerCase()]: color diff --git a/packages/apps-config/src/ui/logos/index.ts b/packages/apps-config/src/ui/logos/index.ts index 57053189af83..cfc1a8a1bd67 100644 --- a/packages/apps-config/src/ui/logos/index.ts +++ b/packages/apps-config/src/ui/logos/index.ts @@ -30,6 +30,7 @@ import nodeSubstrate from './nodes/substrate-hexagon.svg'; import nodeKulupu from './nodes/kulupu.svg'; import nodeLaminar from './nodes/laminar-circle.svg'; import nodePhala from './nodes/phala.svg'; +import nodeCrust from './nodes/crust.svg'; // extensions import extensionPolkadotJs from './extensions/polkadot-js.svg'; @@ -79,7 +80,8 @@ const nodeLogos: Record = [ ['polkadot-js', nodePolkadotJs], ['subsocial-node', nodeSubsocial], ['substrate-node', nodeSubstrate], - ['phala-substrate-node', nodePhala] + ['phala-substrate-node', nodePhala], + ['crust node', nodeCrust] ].reduce((logos, [node, logo]): Record => ({ ...logos, [(node as string).toLowerCase().replace(/-/g, ' ')]: logo @@ -112,7 +114,8 @@ const namedLogos: Record = { rococoTrick: chainRococoTrick, subsocial: nodeSubsocial, substrate: nodeSubstrate, - westend: nodePolkadot + westend: nodePolkadot, + crust: nodeCrust }; // extension logos diff --git a/packages/apps-config/src/ui/logos/nodes/crust.svg b/packages/apps-config/src/ui/logos/nodes/crust.svg new file mode 100644 index 000000000000..0860dbc493d5 --- /dev/null +++ b/packages/apps-config/src/ui/logos/nodes/crust.svg @@ -0,0 +1 @@ +resource 1 \ No newline at end of file