Mark Polkadot 26 upgrade (#2843)
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
// Copyright 2017-2020 @polkadot/types-known authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import all from '.';
|
||||
|
||||
describe('upgrades', (): void => {
|
||||
it('is valid', (): void => {
|
||||
expect(all).toBeDefined();
|
||||
});
|
||||
});
|
||||
@@ -5,16 +5,33 @@ import { ChainUpgrades } from '@polkadot/types/types';
|
||||
import { ChainUpgradesRaw } from './types';
|
||||
|
||||
import BN from 'bn.js';
|
||||
import { hexToU8a } from '@polkadot/util';
|
||||
import { assert, hexToU8a } from '@polkadot/util';
|
||||
|
||||
import kusama from './kusama';
|
||||
import polkadot from './polkadot';
|
||||
import westend from './westend';
|
||||
|
||||
function rawToFinal ({ genesisHash, versions }: ChainUpgradesRaw): ChainUpgrades {
|
||||
/** @internal */
|
||||
function checkOrder (network: string, versions: [number, number][]): [number, number][] {
|
||||
const ooo = versions.filter((curr, index): boolean => {
|
||||
const prev = versions[index - 1];
|
||||
|
||||
return index === 0
|
||||
? false
|
||||
: curr[0] <= prev[0] || curr[1] <= prev[1];
|
||||
});
|
||||
|
||||
assert(!ooo.length, `${network}: Mismatched upgrade ordering: ${JSON.stringify(ooo)}`);
|
||||
|
||||
return versions;
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
function rawToFinal (network: string, { genesisHash, versions }: ChainUpgradesRaw): ChainUpgrades {
|
||||
return {
|
||||
genesisHash: hexToU8a(genesisHash),
|
||||
versions: versions.map(([blockNumber, specVersion]) => ({
|
||||
network,
|
||||
versions: checkOrder(network, versions).map(([blockNumber, specVersion]) => ({
|
||||
blockNumber: new BN(blockNumber),
|
||||
specVersion: new BN(specVersion)
|
||||
}))
|
||||
@@ -23,9 +40,9 @@ function rawToFinal ({ genesisHash, versions }: ChainUpgradesRaw): ChainUpgrades
|
||||
|
||||
// Type overrides for specific spec types & versions as given in runtimeVersion
|
||||
const upgrades: ChainUpgrades[] = [
|
||||
rawToFinal(kusama),
|
||||
rawToFinal(polkadot),
|
||||
rawToFinal(westend)
|
||||
rawToFinal('kusama', kusama),
|
||||
rawToFinal('polkadot', polkadot),
|
||||
rawToFinal('westend', westend)
|
||||
];
|
||||
|
||||
export default upgrades;
|
||||
|
||||
Reference in New Issue
Block a user