diff --git a/packages/apps-config/src/api/spec/darwinia-parachain.ts b/packages/apps-config/src/api/spec/darwinia-parachain.ts new file mode 100644 index 0000000000..f8c0301ed6 --- /dev/null +++ b/packages/apps-config/src/api/spec/darwinia-parachain.ts @@ -0,0 +1,229 @@ +// Copyright 2017-2020 @polkadot/apps-config authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +// structs need to be in order +/* eslint-disable sort-keys */ + +export default { + Address: 'AccountId', + LookupSource: 'AccountId', + BalanceLock: { + id: 'LockIdentifier', + lock_for: 'LockFor', + lock_reasons: 'LockReasons', + amount: 'Balance', + reasons: 'Reasons' + }, + LockFor: { + _enum: { + Common: 'Common', + Staking: 'StakingLock' + } + }, + Common: { + amount: 'Balance' + }, + StakingLock: { + staking_amount: 'Balance', + unbondings: 'Vec' + }, + LockReasons: { + _enum: { + Fee: null, + Misc: null, + All: null + } + }, + Unbonding: { + amount: 'Balance', + until: 'BlockNumber' + }, + AccountData: { + free: 'Balance', + reserved: 'Balance', + free_kton: 'Balance', + reserved_kton: 'Balance', + misc_frozen: 'Balance', + fee_frozen: 'Balance' + }, + RingBalance: 'Balance', + KtonBalance: 'Balance', + TsInMs: 'u64', + Power: 'u32', + DepositId: 'U256', + StakingBalanceT: { + _enum: { + RingBalance: 'Balance', + KtonBalance: 'Balance' + } + }, + StakingLedgerT: { + stash: 'AccountId', + active_ring: 'Compact', + active_deposit_ring: 'Compact', + active_kton: 'Compact', + deposit_items: 'Vec', + ring_staking_lock: 'StakingLock', + kton_staking_lock: 'StakingLock', + claimed_rewards: 'Vec', + total: 'Compact', + active: 'Compact', + unlocking: 'Vec' + }, + TimeDepositItem: { + value: 'Compact', + start_time: 'Compact', + expire_time: 'Compact' + }, + RewardDestination: { + _enum: { + Staked: 'Staked', + Stash: null, + Controller: null + } + }, + Staked: { + promise_month: 'u8' + }, + ExposureT: { + own_ring_balance: 'Compact', + own_kton_balance: 'Compact', + own_power: 'Power', + total_power: 'Power', + others: 'Vec', + total: 'Compact', + own: 'Compact' + }, + IndividualExposure: { + who: 'AccountId', + ring_balance: 'Compact', + kton_balance: 'Compact', + power: 'Power', + value: 'Compact' + }, + ElectionResultT: { + elected_stashes: 'Vec', + exposures: 'Vec<(AccountId, ExposureT)>', + compute: 'ElectionCompute' + }, + RKT: { + r: 'Balance', + k: 'Balance' + }, + SpanRecord: { + slashed: 'RKT', + paid_out: 'RKT' + }, + UnappliedSlash: { + validator: 'AccountId', + own: 'RKT', + others: 'Vec<(AccountId, RKT)>', + reporters: 'Vec', + payout: 'RKT' + }, + TreasuryProposal: { + proposer: 'AccountId', + beneficiary: 'AccountId', + ring_value: 'Balance', + kton_value: 'Balance', + ring_bond: 'Balance', + kton_bond: 'Balance', + value: 'Balance', + bond: 'Balance' + }, + EthTransactionIndex: '(H256, u64)', + EthHeaderBrief: { + total_difficulty: 'U256', + parent_hash: 'H256', + number: 'EthBlockNumber', + relayer: 'AccountId' + }, + EthBlockNumber: 'u64', + EthHeaderThing: { + eth_header: 'EthHeader', + ethash_proof: 'Vec', + mmr_root: 'MMRHash', + mmr_proof: 'Vec' + }, + EthHeader: { + parent_hash: 'H256', + timestamp: 'u64', + number: 'EthBlockNumber', + author: 'EthAddress', + transactions_root: 'H256', + uncles_hash: 'H256', + extra_data: 'Bytes', + state_root: 'H256', + receipts_root: 'H256', + log_bloom: 'Bloom', + gas_used: 'U256', + gas_limit: 'U256', + difficulty: 'U256', + seal: 'Vec', + hash: 'Option' + }, + EthAddress: 'H160', + Bloom: '[u8; 256; Bloom]', + H128: '[u8; 16; H128]', + EthashProof: { + dag_nodes: '(H512, H512)', + proof: 'Vec' + }, + Receipt: { + gas_used: 'U256', + log_bloom: 'Bloom', + logs: 'Vec', + outcome: 'TransactionOutcome' + }, + EthereumNetworkType: { + _enum: { + Mainnet: null, + Ropsten: null + } + }, + RedeemFor: { + _enum: { + Ring: null, + Kton: null, + Deposit: null + } + }, + EthereumReceiptProof: { + index: 'u64', + proof: 'Bytes', + header_hash: 'H256' + }, + MMRProof: 'Vec', + OtherSignature: { + _enum: { + Eth: 'EcdsaSignature', + Tron: 'EcdsaSignature' + } + }, + EcdsaSignature: '[u8; 65; EcdsaSignature]', + OtherAddress: { + _enum: { + Eth: '[u8; 20; EthereumAddress]', + Tron: '[u8; 20; TronAddress]' + } + }, + AddressT: '[u8; 20; AddressT]', + MerkleMountainRangeRootLog: { + prefix: '[u8; 4; Prefix]', + mmr_root: 'Hash' + }, + Round: 'u64', + TcBlockNumber: 'Vec', + TcHeaderHash: 'Vec', + TcHeaderMMR: 'Vec', + MMRHash: 'Vec', + GameId: 'TcBlockNumber', + RawHeaderThing: 'Vec', + BalancesRuntimeDispatchInfo: { + usable_balance: 'Balance' + }, + StakingRuntimeDispatchInfo: { + power: 'Power' + } +}; diff --git a/packages/apps-config/src/api/spec/index.ts b/packages/apps-config/src/api/spec/index.ts index 3cd0b7cd68..ae52650806 100644 --- a/packages/apps-config/src/api/spec/index.ts +++ b/packages/apps-config/src/api/spec/index.ts @@ -5,6 +5,7 @@ import acala from './acala'; import centrifugeChain from './centrifuge-chain'; import crab from './crab'; +import darwiniaParachain from './darwinia-parachain'; import testPara from './cumulus-test-parachain'; import edgeware from './edgeware'; import encointerNodeNotee from './encointer-node-notee'; @@ -22,6 +23,7 @@ export default { acala, 'centrifuge-chain': centrifugeChain, 'cumulus-test-parachain': testPara, + 'darwinia-parachain': darwiniaParachain, edgeware, 'encointer-node': encointerNodeNotee, 'encointer-node-notee': encointerNodeNotee, diff --git a/packages/apps-config/src/settings/endpoints.ts b/packages/apps-config/src/settings/endpoints.ts index 9e18b36bdf..2cf9253bbf 100644 --- a/packages/apps-config/src/settings/endpoints.ts +++ b/packages/apps-config/src/settings/endpoints.ts @@ -152,6 +152,12 @@ function createTest (t: TFunction): LinkOption[] { text: t('rpc.rococo.acala', 'Mandala PC1 (Acala Testpara, hosted by Acala)', { ns: 'apps-config' }), value: 'wss://rococo-1.acala.laminar.one' }, + { + info: 'rococoDarwinia', + isChild: true, + text: t('rpc.rococo.darwinia', 'Darwinia PC1 (Darwinia Testpara, hosted by Darwinia Network)', { ns: 'apps-config' }), + value: 'wss://parachain-rpc.darwinia.network' + }, { info: 'rococoLaminar', isChild: true, diff --git a/packages/apps-config/src/ui/general/index.ts b/packages/apps-config/src/ui/general/index.ts index 70b5d380e3..655ed72c4a 100644 --- a/packages/apps-config/src/ui/general/index.ts +++ b/packages/apps-config/src/ui/general/index.ts @@ -14,6 +14,7 @@ const chainRoccoTick = '#22bb22'; const chainRoccoTrack = '#bb2222'; const chainRoccoTrick = '#2222bb'; const chainRoccoAcala = '#173DC9'; +const chainRoccoDarwinia = '#7C30DD'; const laminarRoccoAcala = '#004FFF'; const chainWestend = '#da68a7'; @@ -38,6 +39,7 @@ const chainColors: Record = [ ['Track', chainRoccoTrack], ['Trick', chainRoccoTrick], ['acala mandala pc1', chainRoccoAcala], + ['darwinia parachain', chainRoccoDarwinia], ['laminar turbulence pc1', laminarRoccoAcala], ['Westend', chainWestend] ].reduce((colors, [chain, color]): Record => ({ diff --git a/packages/apps-config/src/ui/logos/index.ts b/packages/apps-config/src/ui/logos/index.ts index 525df25b0c..8d9ccb6a05 100644 --- a/packages/apps-config/src/ui/logos/index.ts +++ b/packages/apps-config/src/ui/logos/index.ts @@ -15,6 +15,7 @@ import chainRococoTrick from './chains/rococo-trick.svg'; import nodeAcala from './nodes/acala-circle.svg'; import nodeCentrifuge from './nodes/centrifuge.png'; import nodeCrab from './nodes/crab.svg'; +import nodeDarwinia from './nodes/darwinia.png'; import nodeEdgeware from './nodes/edgeware-circle.svg'; import nodeEncointerNotee from './nodes/encointer-notee.svg'; import nodeEncointerTeeproxy from './nodes/encointer-teeproxy.svg'; @@ -53,6 +54,7 @@ const nodeLogos: Record = [ ['centrifuge chain', nodeCentrifuge], ['Centrifuge Chain Node', nodeCentrifuge], ['crab', nodeCrab], + ['darwinia parachain', nodeDarwinia], ['Edgeware Node', nodeEdgeware], ['Encointer Node', nodeEncointerNotee], ['Encointer Node noTEE', nodeEncointerNotee], @@ -86,6 +88,7 @@ const namedLogos: Record = { polkadot: nodePolkadot, rococo: chainRococo, rococoAcala: nodeAcala, + rococoDarwinia: nodeDarwinia, rococoLaminar: nodeLaminar, rococoTick: chainRococoTick, rococoTrack: chainRococoTrack, diff --git a/packages/apps-config/src/ui/logos/nodes/darwinia.png b/packages/apps-config/src/ui/logos/nodes/darwinia.png new file mode 100644 index 0000000000..893ba7bd28 Binary files /dev/null and b/packages/apps-config/src/ui/logos/nodes/darwinia.png differ