diff --git a/packages/networks/src/defaults.spec.ts b/packages/networks/src/defaults.spec.ts index 34615d891..43cd00e5a 100644 --- a/packages/networks/src/defaults.spec.ts +++ b/packages/networks/src/defaults.spec.ts @@ -6,22 +6,33 @@ import { ledgerApps } from '@polkadot/hw-ledger/defaults'; import { isHex } from '@polkadot/util'; -import { knownGenesis, knownLedger } from './defaults/index.js'; +import { knownGenesis, knownLedger, knownTestnet } from './defaults/index.js'; describe('defaults', (): void => { + const genesisKeys = Object.keys(knownGenesis); + const ledgerKeys = Object.keys(knownLedger); + describe('genesis', (): void => { it('has hex values for all genesis chains', (): void => { expect( - Object.keys(knownGenesis).filter((network) => + genesisKeys.filter((network) => !knownGenesis[network].length || knownGenesis[network].some((g) => !isHex(g, 256)) ) ).toEqual([]); }); + it('has no entries for testnets', (): void => { + expect( + genesisKeys.filter((network) => + knownTestnet[network] + ) + ).toEqual([]); + }); + it('has genesis for all Ledger chains', (): void => { expect( - Object.keys(knownLedger).filter((network) => + ledgerKeys.filter((network) => !knownGenesis[network] ) ).toEqual([]); @@ -31,7 +42,7 @@ describe('defaults', (): void => { describe('Ledger', (): void => { it('has entries for each of the apps (hwledger -> networks)', (): void => { expect( - Object.keys(knownLedger).filter((network) => + ledgerKeys.filter((network) => !ledgerApps[network] ) ).toEqual([]); diff --git a/packages/networks/src/defaults/genesis.ts b/packages/networks/src/defaults/genesis.ts index 096814cf4..ec2a185d2 100644 --- a/packages/networks/src/defaults/genesis.ts +++ b/packages/networks/src/defaults/genesis.ts @@ -3,10 +3,14 @@ import type { KnownGenesis } from '../types.js'; -// NOTE: In the case where the network was hard-spooned and multiple genesisHashes -// are provided, it needs to be in reverse order, i.e. most-recent first, oldest -// last. This make lookups for the current a simple genesisHash[0] -// (See Kusama as an example) +// In the case where the network was hard-spooned and multiple genesisHashes +// are provided, it needs to be in reverse order, i.e. most-recent goes first, +// oldest goes last. This make lookups for the current a simple genesisHash[0] +// where the latest ios always the first entry (See Kusama as an example) +// +// IMPORTANT: Apart from the test relays, this list is limited to live parachains +// and live production networks. It does not and should not contain any testnets, +// either stand-alone or connected to test relays such as Westend/Rococo export const knownGenesis: KnownGenesis = { acala: [ '0xfc41b9bd8ef8fe53d58c7ea67c794c7ec9a73daf05e6d54b14ff6342c99ba64c'