From 5987dfa92e0f92a42be1f68bd4bdcfe9df215e9c Mon Sep 17 00:00:00 2001 From: tarikgul Date: Sat, 2 Oct 2021 11:06:48 -0400 Subject: [PATCH 1/4] fix: expandMetadata for historic runtimes --- src/services/blocks/BlocksService.spec.ts | 9 +++++++++ src/services/blocks/BlocksService.ts | 3 ++- src/services/test-helpers/mock/mockApi.ts | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/services/blocks/BlocksService.spec.ts b/src/services/blocks/BlocksService.spec.ts index cc87a2e43..ee9d7b55a 100644 --- a/src/services/blocks/BlocksService.spec.ts +++ b/src/services/blocks/BlocksService.spec.ts @@ -18,9 +18,11 @@ import { polkadotRegistry, polkadotRegistryV29, } from '../../test-helpers/registries'; +import { createApiWithAugmentations } from '../../test-helpers/typeFactory'; import { ExtBaseWeightValue, PerClassValue } from '../../types/chains-config'; import { IBlock, IExtrinsic } from '../../types/responses/'; import { + apiAt, blockHash20000, blockHash100000, blockHash789629, @@ -251,7 +253,13 @@ describe('BlocksService', () => { Promise.resolve().then(() => polkadotMetadataV29); const revertedMetadata = () => Promise.resolve().then(() => polkadotMetadata); + // Set this historic At to the tests current runtime + const historicAt = () => + Promise.resolve().then(() => + createApiWithAugmentations(polkadotMetadataV29.toHex()) + ); + (mockApi.at as unknown) = historicAt; (mockApi.registry as unknown) = polkadotRegistryV29; (mockApi.rpc.state.getMetadata as unknown) = changeMetadataToV29; @@ -269,6 +277,7 @@ describe('BlocksService', () => { .baseExtrinsic ).toBe(BigInt(512000000000001)); + (mockApi.at as unknown) = apiAt; (mockApi.registry as unknown) = polkadotRegistry; (mockApi.rpc.state.getMetadata as unknown) = revertedMetadata; }); diff --git a/src/services/blocks/BlocksService.ts b/src/services/blocks/BlocksService.ts index dc35cac49..ce172f44a 100644 --- a/src/services/blocks/BlocksService.ts +++ b/src/services/blocks/BlocksService.ts @@ -558,9 +558,10 @@ export class BlocksService extends AbstractService { blockHash: BlockHash ): Promise { const metadata = await api.rpc.state.getMetadata(blockHash); + const historicApi = await api.at(blockHash); const { consts: { system }, - } = expandMetadata(api.registry, metadata); + } = expandMetadata(historicApi.registry, metadata); let weightValue; if ((system.blockWeights as unknown as BlockWeights)?.perClass) { diff --git a/src/services/test-helpers/mock/mockApi.ts b/src/services/test-helpers/mock/mockApi.ts index ca5e8cb87..d03b0287b 100644 --- a/src/services/test-helpers/mock/mockApi.ts +++ b/src/services/test-helpers/mock/mockApi.ts @@ -655,7 +655,7 @@ const assetApprovals = () => return rococoRegistry.createType('Option', assetObj); }); -const apiAt = () => +export const apiAt = (): Promise => Promise.resolve().then(() => { return createApiWithAugmentations(polkadotMetadata.toHex()); }); From f369cb32416befc5ff4f2f4fb857e2474286dcbe Mon Sep 17 00:00:00 2001 From: tarikgul Date: Sat, 2 Oct 2021 11:49:33 -0400 Subject: [PATCH 2/4] fix: typecast ApiPromise for historicApi --- src/services/blocks/BlocksService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/blocks/BlocksService.ts b/src/services/blocks/BlocksService.ts index ce172f44a..e9faa450d 100644 --- a/src/services/blocks/BlocksService.ts +++ b/src/services/blocks/BlocksService.ts @@ -558,7 +558,7 @@ export class BlocksService extends AbstractService { blockHash: BlockHash ): Promise { const metadata = await api.rpc.state.getMetadata(blockHash); - const historicApi = await api.at(blockHash); + const historicApi = await api.at(blockHash) as ApiPromise; const { consts: { system }, } = expandMetadata(historicApi.registry, metadata); From eb3e7f084eee893b7bfffeeb6e73b7fccdac1659 Mon Sep 17 00:00:00 2001 From: tarikgul Date: Sat, 2 Oct 2021 11:55:36 -0400 Subject: [PATCH 3/4] lint --- src/services/blocks/BlocksService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/blocks/BlocksService.ts b/src/services/blocks/BlocksService.ts index e9faa450d..17439fa22 100644 --- a/src/services/blocks/BlocksService.ts +++ b/src/services/blocks/BlocksService.ts @@ -558,7 +558,7 @@ export class BlocksService extends AbstractService { blockHash: BlockHash ): Promise { const metadata = await api.rpc.state.getMetadata(blockHash); - const historicApi = await api.at(blockHash) as ApiPromise; + const historicApi = (await api.at(blockHash)) as ApiPromise; const { consts: { system }, } = expandMetadata(historicApi.registry, metadata); From a1eab6f28f5288360256d7ef19bc3c9d6136bc76 Mon Sep 17 00:00:00 2001 From: tarikgul Date: Tue, 5 Oct 2021 13:22:32 -0400 Subject: [PATCH 4/4] add runtimes to blockweightStore --- src/chains-config/metadata-consts/kusamaConsts.ts | 5 ++++- src/chains-config/metadata-consts/polkadotConsts.ts | 4 +++- src/chains-config/metadata-consts/westendConsts.ts | 4 +++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/chains-config/metadata-consts/kusamaConsts.ts b/src/chains-config/metadata-consts/kusamaConsts.ts index 7bb638aa5..fbf4e011f 100644 --- a/src/chains-config/metadata-consts/kusamaConsts.ts +++ b/src/chains-config/metadata-consts/kusamaConsts.ts @@ -10,7 +10,10 @@ export const kusamaDefinitions: MetadataConsts[] = [ extrinsicBaseWeight, }, { - runtimeVersions: [2027, 2028, 2029, 2030, 9010, 9030, 9040, 9050, 9070], + runtimeVersions: [ + 2027, 2028, 2029, 2030, 9000, 9010, 9030, 9040, 9050, 9070, 9080, 9090, + 9100, + ], perClass, }, ]; diff --git a/src/chains-config/metadata-consts/polkadotConsts.ts b/src/chains-config/metadata-consts/polkadotConsts.ts index 98a6a6cee..e130c6496 100644 --- a/src/chains-config/metadata-consts/polkadotConsts.ts +++ b/src/chains-config/metadata-consts/polkadotConsts.ts @@ -9,7 +9,9 @@ export const polkadotDefinitions: MetadataConsts[] = [ extrinsicBaseWeight, }, { - runtimeVersions: [27, 28, 29, 30, 9050], + runtimeVersions: [ + 27, 28, 29, 30, 9000, 9010, 9030, 9033, 9050, 9070, 9080, 9090, 9100, + ], perClass, }, ]; diff --git a/src/chains-config/metadata-consts/westendConsts.ts b/src/chains-config/metadata-consts/westendConsts.ts index fef591267..c7f65ee75 100644 --- a/src/chains-config/metadata-consts/westendConsts.ts +++ b/src/chains-config/metadata-consts/westendConsts.ts @@ -9,7 +9,9 @@ export const westendDefinitions: MetadataConsts[] = [ extrinsicBaseWeight, }, { - runtimeVersions: [47, 48, 49, 50, 9010, 9030, 9033, 9050, 9070], + runtimeVersions: [ + 47, 48, 49, 50, 9000, 9010, 9030, 9033, 9050, 9070, 9080, 9090, 9100, + ], perClass, }, ];