Add @polkadot/types-support (#3842)

* Add @polkadot/types-support

* jest config fix

* typegen lookups

* Build fixes

* Explicit kusama naming

* testMeta for v14 (local)

* CI test failure

* CI test failure v14

* Update with corrected data after test

* types-support json imports
This commit is contained in:
Jaco
2021-08-04 10:39:21 +02:00
committed by GitHub
parent 70ac38cfd2
commit f603100b8b
95 changed files with 1587 additions and 1138 deletions
+2 -1
View File
@@ -5,9 +5,10 @@ import type { VoteThreshold } from '../interfaces/elections';
import type { BlockNumber } from '../interfaces/runtime';
import type { CodecTo } from '../types';
import rpcMetadata from '@polkadot/types-support/metadata/static-substrate';
import { TypeRegistry } from '../create';
import { Metadata } from '../metadata';
import rpcMetadata from '../metadata/static-substrate';
import { Text, U32, u128 as U128 } from '../primitive';
import { Tuple } from '.';
+1 -1
View File
@@ -4,12 +4,12 @@
import type { PropIndex } from '../interfaces/democracy';
import type { Codec, CodecTo } from '../types';
import rpcMetadata from '@polkadot/types-support/metadata/static-substrate';
import { randomAsU8a } from '@polkadot/util-crypto';
import { createTypeUnsafe, TypeRegistry } from '../create';
import { GenericAccountId as AccountId } from '../generic';
import { Metadata } from '../metadata';
import rpcMetadata from '../metadata/static-substrate';
import { Text } from '../primitive';
import { Tuple, Vec } from '.';
@@ -1,9 +1,10 @@
// Copyright 2017-2021 @polkadot/types authors & contributors
// SPDX-License-Identifier: Apache-2.0
import rpcMetadata from '@polkadot/types-support/metadata/static-substrate';
import { TypeRegistry } from '../create';
import { Metadata } from '../metadata';
import rpcMetadata from '../metadata/static-substrate';
import { GenericExtrinsic as Extrinsic } from '.';
const registry = new TypeRegistry();
@@ -1,9 +1,10 @@
// Copyright 2017-2021 @polkadot/types authors & contributors
// SPDX-License-Identifier: Apache-2.0
import rpcMetadata from '@polkadot/types-support/metadata/static-substrate';
import { TypeRegistry } from '../create';
import { Metadata } from '../metadata';
import rpcMetadata from '../metadata/static-substrate';
import { GenericSignerPayload as SignerPayload } from '.';
const registry = new TypeRegistry();
@@ -2,11 +2,11 @@
// SPDX-License-Identifier: Apache-2.0
import { createTestPairs } from '@polkadot/keyring/testingPairs';
import rpcMetadata from '@polkadot/types-support/metadata/static-substrate';
import { BN } from '@polkadot/util';
import { TypeRegistry } from '../../create';
import { decorateExtrinsics, Metadata } from '../../metadata';
import rpcMetadata from '../../metadata/static-substrate';
import { GenericExtrinsicV4 as Extrinsic } from '.';
const registry = new TypeRegistry();
@@ -2,11 +2,11 @@
// SPDX-License-Identifier: Apache-2.0
import { createTestPairs } from '@polkadot/keyring/testingPairs';
import metadataStatic from '@polkadot/types-support/metadata/static-substrate';
import { BN_ZERO } from '@polkadot/util';
import { TypeRegistry } from '../../create';
import { Metadata } from '../../metadata';
import metadataStatic from '../../metadata/static-substrate';
import { GenericExtrinsicSignatureV4 as ExtrinsicSignature } from '.';
const signOptions = {
+2 -1
View File
@@ -3,9 +3,10 @@
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
import jsonVec from '@polkadot/types-support/json/AccountIdVec.001.json';
import { Raw } from '../codec/Raw';
import { TypeRegistry } from '../create';
import jsonVec from '../json/AccountIdVec.001.json';
import { GenericAccountId as AccountId } from '.';
describe('AccountId', (): void => {
+3 -2
View File
@@ -4,10 +4,11 @@
/* eslint-disable sort-keys */
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
import block00300 from '@polkadot/types-support/json/SignedBlock.003.00.json';
import metadataStatic from '@polkadot/types-support/metadata/static-substrate';
import { TypeRegistry } from '../create';
import block00300 from '../json/SignedBlock.003.00.json';
import { Metadata } from '../metadata';
import metadataStatic from '../metadata/static-substrate';
import { GenericBlock as Block } from './Block';
const registry = new TypeRegistry();
+2 -1
View File
@@ -1,9 +1,10 @@
// Copyright 2017-2021 @polkadot/types authors & contributors
// SPDX-License-Identifier: Apache-2.0
import metadataStatic from '@polkadot/types-support/metadata/static-substrate';
import { TypeRegistry } from '../create';
import { Metadata } from '../metadata';
import metadataStatic from '../metadata/static-substrate';
import { GenericCall as Call } from '.';
const registry = new TypeRegistry();
+2 -1
View File
@@ -3,8 +3,9 @@
import type { Codec } from './types';
import metadataStatic from '@polkadot/types-support/metadata/static-substrate';
import * as definitions from './interfaces/definitions';
import metadataStatic from './metadata/static-substrate';
import { createTypeUnsafe, TypeRegistry } from './create';
import * as exported from './index.types';
import { Metadata } from './metadata';
@@ -5,8 +5,9 @@
import type { ExtrinsicStatus } from './types';
import rpc from '@polkadot/types-support/json/ExtrinsicStatus.001.json';
import { TypeRegistry } from '../../create';
import rpc from '../../json/ExtrinsicStatus.001.json';
describe('ExtrinsicStatus', (): void => {
const registry = new TypeRegistry();
@@ -3,8 +3,9 @@
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
import json3 from '@polkadot/types-support/json/GrandpaRoundstate.001.json';
import { TypeRegistry } from '../../create';
import json3 from '../../json/GrandpaRoundstate.001.json';
describe('ReportedRoundStates', (): void => {
const registry = new TypeRegistry();
@@ -3,8 +3,9 @@
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
import json3 from '@polkadot/types-support/json/Header.003.json';
import { TypeRegistry } from '../../create';
import json3 from '../../json/Header.003.json';
describe('Digest', (): void => {
const registry = new TypeRegistry();
@@ -3,14 +3,14 @@
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
import json1 from '@polkadot/types-support/json/Header.001.json';
import json2 from '@polkadot/types-support/json/Header.002.json';
import json3 from '@polkadot/types-support/json/Header.003.json';
import block00300 from '@polkadot/types-support/json/SignedBlock.003.00.json';
import block00301 from '@polkadot/types-support/json/SignedBlock.003.01.json';
import { BN } from '@polkadot/util';
import { TypeRegistry } from '../../create';
import json1 from '../../json/Header.001.json';
import json2 from '../../json/Header.002.json';
import json3 from '../../json/Header.003.json';
import block00300 from '../../json/SignedBlock.003.00.json';
import block00301 from '../../json/SignedBlock.003.01.json';
describe('Header', (): void => {
const registry = new TypeRegistry();
@@ -5,8 +5,9 @@
import type { RuntimeVersion } from './types';
import rpc from '@polkadot/types-support/json/RuntimeVersion.002.json';
import { TypeRegistry } from '../../create';
import rpc from '../../json/RuntimeVersion.002.json';
describe('RuntimeVersion', (): void => {
const registry = new TypeRegistry();
@@ -4,8 +4,7 @@
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
import { TypeRegistry } from '@polkadot/types/create';
import json from '../../json/StorageChangeSet.001.json';
import json from '@polkadot/types-support/json/StorageChangeSet.001.json';
describe('StorageChangeSet', (): void => {
const registry = new TypeRegistry();
@@ -4,11 +4,12 @@
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
import json1 from '@polkadot/types-support/json/EventRecord.001.json';
import json3 from '@polkadot/types-support/json/EventRecord.003.json';
import rpcMetadata from '@polkadot/types-support/metadata/static-substrate';
import { TypeRegistry } from '../../create';
import json1 from '../../json/EventRecord.001.json';
import json3 from '../../json/EventRecord.003.json';
import { Metadata } from '../../metadata';
import rpcMetadata from '../../metadata/static-substrate';
describe('EventRecord', (): void => {
const registry = new TypeRegistry();
@@ -1,16 +0,0 @@
{
"jsonrpc": "2.0",
"method": "state_storage",
"params": {
"result": {
"block": "0x3265584ff8e6a66cb6c334cdaf8bb6938b49b96e644b5bacc0d06f2b13f75230",
"changes": [
[
"0x329586a7b97f2ac15f6c26a02c3c5621",
"0x2082c39b31a2b79a90f8e66e7a77fdb85a4ed5517f2ae39f6a80565e8ecae85cf54de37a07567ebcbf8c64568428a835269a566723687058e017b6d69db00a77e758d67e0f9be62dce75adbb005e8097de5c45f32b1ba7264717df2db4ae9f276e8101764f45778d4980dadaceee6e8af2517d3ab91ac9bec9cd1714fa5994081ca070532405ebf20fba389cbabfe1885cc134ee18028d488714eae621b47baf9d227cee94fa4e88d8d25abe706f15aca03b1d753d433f5ef9aa9ad1bcf5e5b81e040c8dc048a6d129803caa851c4c9633610068e4ef9eaa0bfbf40dfbfd43d9222347812ef77d9fd3cca1673e1b2bde54da96fddcf79d92832b1e2a819724f140"
]
]
},
"subscription": 43614
}
}
@@ -1,16 +0,0 @@
{
"jsonrpc": "2.0",
"method": "state_storage",
"params": {
"result": {
"block": "0x4c51fb36c859f9d2554ef0dadf53351c343f2746221a963d630bfe396728842d",
"changes": [
[
"0xcc956bdb7605e3547539f321ac2bc95c",
"0x0400000000000000"
]
]
},
"subscription": 14
}
}
@@ -1,16 +0,0 @@
{
"jsonrpc": "2.0",
"method": "state_storage",
"params": {
"result": {
"block": "0xa7f1ac9f18dded8e5825205d3e5260cf53ba01f629d9ebc1b80601b45ed8c358",
"changes": [
[
"0xcc956bdb7605e3547539f321ac2bc95c",
"0x10000000000000000001000000010037e027d776cd005c12bcf6722421374a9037167a0ceaf918f341c4ad68d54e59070000000000010000000102d2de7394ae047a5502ad9adb9cc69ff6fe484033bfce874d775da947487cd83237e027d776cd005c12bcf6722421374a9037167a0ceaf918f341c4ad68d54e59e80300000000000000000000000000000000000000000000000000000000000000010000000000"
]
]
},
"subscription": 19
}
}
@@ -1,16 +0,0 @@
{
"jsonrpc": "2.0",
"method": "state_storage",
"params": {
"result": {
"block": "0x49e40de6af6524a6bbe1654cd261907073f0d76fc0e73ded942f1fd867096fa8",
"changes": [
[
"0xcc956bdb7605e3547539f321ac2bc95c",
"0x08000000000000000000010000000000000000000000000000000000000000000000000000"
]
]
},
"subscription": 119
}
}
@@ -1,10 +0,0 @@
{
"jsonrpc": "2.0",
"method": "author_extrinsicUpdate",
"params": {
"result": {
"finalized": "0xc465b92a72b1d20918d64cd4effa70c2bb58b53a3f8c24c3ac8fd8f465f059b4"
},
"subscription": 9
}
}
@@ -1,523 +0,0 @@
{
"jsonrpc": "2.0",
"result": {
"background": [],
"best": {
"precommits": {
"currentWeight": 0,
"missing": [
"Cc2YhyWFfeXv5jfAsFnBKaHr2V5atN4wf6LubeSMpWBUNpa",
"CfTYiCjhcit9N7EJNjAYv3rku6H8uSn6E6TTmmM1NrwdYKB",
"Cicfcxq9fNSVV64wsgqHpLSBedY5TzB1hr6fESXoL5UYZ4x",
"CiqujmJXHwNkg2WVNn6DR9e5TrYD7YkQZ3myExygkKqhpz8",
"CkXk1WRGEb8ZJU1M5W5oHcEgAq9drBRdLac4QjHQwE4bGep",
"CmdHZ3MLTHJhgHTkyC1bm6kwFyGuhCSWcvs5e5DnRWJULRX",
"CoHt3KzCuuFsoT3sftmARcvJ8NF414RvPfaXrRKUg5HAHFh",
"CoUxi1tafPBMRx9yAwsuHZKR9qC8cXkp3d3h63jQJiWJN3Z",
"Cp5Yg6ZUYXFWPpXfkjfQC2Vq9UMtRdAkBVx8BgV94ted3kU",
"CpUj9JPRwKi27GPtxEznxKDbYVW9MYCcz4pJy5VUFVoyEks",
"Cq5fjZKywKh3pNrNNEHyYsAXgfXZD6TMEc8B7BP2CjG5gHQ",
"Cqix2rD93Mdf7ytg8tBavAig2TvhXPgPZ2mejQvkq7qgRPq",
"Cs9HdXcS6hXdAnCMDqCqx1ncqAteiLSQD7GLJLDEStfzRoB",
"CtaGcLbdjMEY3MCm8pS2VuLQ6ZZ3HV1ou6eQvXuUt94hhXx",
"Ctu8uXthRbiFkQHxc4EEsMXTLSzUxGKeNgqVyB8uYfAdZtS",
"Cv4NgBEc48tqfSe6Brzjo1A155a8T31nR6a9YC3xBA5vbXx",
"CwHwmbogSwtRbrkajVBNubPvWmHBGU4bhMido54M9CjuKZD",
"CwfmfRmzPKLj3ntSCejuVwYmQ1F9iZWY4meQrAVoJ2G8Kce",
"CwjLJ1zPWK5Ao9WChAFp7rWGEgN3AyXXjTRPrqgm5WwBpoS",
"CwkMPKWjdHyJdjjJipm2QUWv3mCgyC5DbTBxyCppe5Vikz1",
"Cwr1TMtvYPU1L7yzFtxEw2D4qG2K9HyjX4Xyi3Ly9kfPUWq",
"Cz13yLMRZwtTGRm64vd3rJDwUSSEGqa5jXdbTvuGb6mH1sE",
"CzMLMqDMrRHfdzU5ZJDG78v5WgFFY8QdkYKKhsGk96HTA9L",
"D22L3MZfQJ6e25sKvUKV2ScNCiBLjSz36Qs2dAr9YmMK4wZ",
"D2HSM4BU97upkYgdTqEQSH1nQTXQeGxTmfHE9uS7RJ1adwt",
"D2XYxqEeKmszcyWePVZeMMH9aRLP1s6cDaomUKrQpUNzKRB",
"D3HKWAihSUmg8HrfeFrftSwNK7no261yA9RNr3LUUdsuzuJ",
"D6hDX5craMLkZRmKPPHHVhEkSCHESA3EyNvgAyo1APHQTGL",
"D7NzDRff9ma2Yg1tH2nCQTZx4WgZTtMVFERreKepGkUvFPV",
"D7XuFnGrbcLd5B6oohL3D2d8r1KYwJ2525ZU2zFPtLBTRti",
"D82DwwGJGTcSvtB3SmNrZejnSertbPzpkYvDUp3ibScL3ne",
"DAr9owKmSVDBCC4oTfoAdsSNaAikL2cbczUu865zi3kigYZ",
"DCjxjuZtoHzysSc5z8kduHGwydCfUGgWvkUku44RTGk5mi1",
"DEe4DMG4fNiy9xQZUPGRquBDbtp6A6DsbC69PfPqAGbBfiS",
"DEpBtAKdDKMRr4bKf89roC6JuSVik8YDiB6unapikodP3Mn",
"DFX3Twv2d8zC99aHB8Lj79V7fS1vvguzCnbP2Rnu8JT21vZ",
"DFcTEcDreBwTiV498NBrGqnLfPVKKteASvxmUMyPQzKMwFy",
"DHdM42YdCbdxUqZctUeEGhyGfTphpsDrstJhAQuG68e6NTx",
"DJUJhJ44hKPjgqh3kYSn1nCayzaJLC1xiEXupt6DhyTrdxt",
"DN5do2eDUqX3k2cPvKsWGTSEbnuscUYChy32yfvdZFdBhn4",
"DPLS9R4bJW6Sr4sixhHrkD9Q5BWbiXPfeTHgvGMYKpEb5Uu",
"DQMHjfkB6DLZfxy76Z3M5NqnRncg97ZuyvE18gb3j2nntsQ",
"DQrS7uEgLHV7WDWLBPNfc3yCXfWfrnfsupTH4Zp96WJickw",
"DUoHA96h2b2d36e1mWhndrD2Ss5HNF1gQCHaC7vypKcmS3B",
"DVJV81kab2J6oTyRJ9T3NCwW2DSrysbWCssvMcE6cwZHnAd",
"DWpBhJTnojap4TCV1oLUYmTRzRNamD6yv26iYS56NzoPpW7",
"DYNrzpuVAgyKEC8k4GNnM3bNjeyWMhvgA94qNX4q41ACKiW",
"Dab5JaQvMpY9Zad18sseXyafPSUhP4Df8W6z5E6Wx9xbwCP",
"DadqXmEY1QyKRwgpuWb1ddd5DUb7HposCb7zaDKZEPXHRU8",
"DbwVZ6ZTBaQHTicZiJr9YtsTkJEFg5qBRMN4mACjX7CC3vU",
"DcCJuQS5JrShNP1RHrmtbSSE9QAuAYwA41FV9mojVGcGH2q",
"DdDTr5Fh25S3dR7cvz9TPTFAB1a9DCUuj5acq7ygXQyxqov",
"DdFFbdprsx5bBguJLXqY5jVJsXJqZFhGgJMWzwbroeHk1Vb",
"DfW5AASSn2tEDFbu8ECiUi6YBzwCaB24aaFCiVpj3LG7qmT",
"DfZXXZGWhJRQxibkEKqZj3ZZaWV2iYCDvREwG5EkrxXcGQw",
"Dgb85BCqpwFt9meW9EXvEweVdMHSvqVyp6kzu4bPSC8Dwpm",
"DiFKcf4LmsN7AWacUTQmu8WvdiBhWEnnard61tp3v8CTyNL",
"DiQcjVHteZFh9kNYKcdRM9qwdq4kbWsMUYYaa1E7ee8AMob",
"Dj9oef5L9jMfT9DTGa7frpSgdLYzsBkTNHAox3bh71W3DiK",
"DjY7WgELBnM8DxCb6etKgGuPtTGTU6RU3rdGsQV1P5y1jKc",
"DnPEbAB81SvWiy7NMFFfDxciWGV6u8ZWaEwr7LvuzCD3foC",
"DoFS6cZAd9L7gHbqdfJ2H4kSYHLfFxMtFEmaro9VvFmCAL4",
"DoRWdJFkMjVRXttgsQgc372SwUh3yZ2USMYmRMWrqpLkgLy",
"Dp8FHpZTzvoKXztkfrUAkF6xNf6sjVU5ZLZ29NEGUazouou",
"DpA5fB8iJ3yuRUw9R2ENG5Sme2NFuRcqxxRtCpggATrKMyi",
"DpB37GDrJDYcmg2df2eqsrPKMay1u8hyZ6sQi2FuUiUeNLu",
"DqtRkrmtPANa8wrYR7Ce2LxJxk2iNFtiCxv1cXbx54uqdTN",
"DsQMG46Yew7a6FZ7QtNxh5vDDhZfjTb2CrUgQqjdmVr9dez",
"DuhhwrG7H7RjGCTjBtPNwu2ZpaEbmqpvrwzENvVbcQaGDfN",
"Dv9YENxCfWpdNyqrSS8X2gU42XHxPawtecW5tUGKQ3QHLGN",
"DxHPty3B9fpj3duu6Gc6gCSCAvsydJHJEY5G3oVYT8S5BYJ",
"E4c2BBuVRndrn442Sm3NEo6VgEQkB81aASCZcQ3kJd1eVvm",
"EAxzs82Tb7Cphb4ENSMd8HnKhFfMWZJkG32kVG7JyrX6C1g",
"EDhSKVKviygHeNL4d1PwCMLi2nMu8suHb4utjc417H7ipnU",
"EEGZUN5j8HztGZoGMCDEqxKaES89BUMPdEmisw76Ntaczo8",
"EJaQuJLcSFi4upQ6iYhiQVJPycsiCj6i1Hr92GGdQPfJh2Z",
"EPPZ4fZDL3dzPWmc8ykVd1QtTMQe7EAtRTV5hpdgw2bV8Vx",
"ERMAxAqFwJsbTbxXR7cFD9kWox9MoYaUUKBhJVghrFb2dNN",
"ERUbGg8o5P7goHaZHwpFbh6UsMhrJstaLkZSt6bd1XawhT3",
"ESRccudun1sfSaJ2AsAJyjRiGTjGNpcTCsE1GNRJu5qcetv",
"ETBiNkdbxGNvvYCtXKTHo8Pvxg7K1p6kbpR5qL3y866H8zC",
"ETH5bzi7XxZPRNj2EraffF43M7yCjGrDUzo6a3KFKA5vWTj",
"EVcuKTm8bqzURSPjBTgHqF1abwqpPYY4oAxid9a3VKuwQd5",
"EW7erYVCQhQthHCd2pgMSWKXqvtDwwXNuMohou8k763fQaa",
"EYUQdMcXUtn4KJkJL98SKWf8C8hWPVEfRvZeMSBruRwdyu1",
"EYgJvYZV98fED9Lpc1Jr8TDntfLz5uzFmsMirQRzQy61a4B",
"EZZ7DMwd1t24gHmgD4ekn7f36pPHHt3SCXt7a44GTiprt6d",
"EZc5iZZjGFMXGmBps6rt8QJxns8WN7L66SgkJhHg3dhoJrd",
"EaAdAwRHvCmnkJpjA26RCdCiThQycviNPwyiPQQGC1YZKbB",
"EbaJw5HDyqLurKypUFM99BhQ1rqNLHmMSnQGcdYGQL14XU5",
"EiCesgkAaighBKMpwFSAUdvwE4mRjBjNmmd5fP6d4FG8DAx",
"EimqvBYtHPwvf3PDiqD72pTSUjmhCuFSaCSawAs3k6tQYTD",
"EkDWeoUGue1rBup41awEGmf6gmTemankoSJ8x8KpoyybGgU",
"EmMPBDBrzDsnKBxxUR9wCiZVM8tQnpVvD3XDsTdZ71haW73",
"ErL6bfYX8ZN6CnKTPskY5QnBwF38ZW1XkNzjhFfGF53BY83",
"EtCGTKdyMfYUX7jaTgJq2pt2PExEGfzcppbGafcpaNkahAm",
"EtDKLc5xWW2nfjrokLFWfT1rFbha9bPh5JozEbfiCWHQXQJ",
"EtNAJNfs1DtsMQBYj2bUtKtzJXhEX5mZ8ZrPK7gsF427pj3",
"Ez63HgnwvnPV4QdLdu14BpSrXXGB4BLHHDgzuxqNJfGumYa",
"F16KfQojZmEBvYyZQwC1MgR2P3dSrPfNxF47yqtmPX4dJRd",
"F4q2yRrJ2hu9yfGbjiPvekPNXHJfE9cKdGiWxeakmbgd9Ae",
"F5edJrWioXyuWpUKYZk5FngEovCaevd44DbFXugL19xMf8d",
"F5q2e2cjaeYfB3NkpY3zdxhD7BnJoyZvYAuKkeSWvCtQuYv",
"F7Zabg5T94iGozVuusQCJQCzksBD6zHcGcCK7TV9Q6rcnz6",
"F8nEQdRxv4iCrcJ72XsAXnAm1iyqajSvSuovvic3QTzZViF",
"FBHmyQBEzfQdu94SLrZnXYrZWjpUFfKagWi1HavYj5i7HZn",
"FBVfQsD6Z23qYDNJzyAmUpNxfYt563KUyjGKaRC3sjkVhip",
"FCVN2XQZam1Sqa1RiWr9tDfdaRvYbh4CQGeJYH9tk95uQk2",
"FD5DgPbS1dUNfTkV6oyCBsnqcByWeiZ4rasv3o7KYcbYyTE",
"FE6T6jmbgwy1g3JPUPoDdzd3x8PV7tDTrTEZvwWgmEn4A7W",
"FG36ViMzpfjUjRmcgqA1YDRT7puxyMAU2CKomPo9xAsxCku",
"FGHzRtgn9c9yPDw3rQA5MedSjvbpyXggD28X6vmdJYrsejb",
"FJimD5dnWqGZhTXk5kbYg8Epas2oJW5i4X5HFPJW2Q1vhjn",
"FJixgYmBZaFfv1ctpe6LFX3P47vtmXBbq6goJbzrvZo9fBg",
"FLHzFovZtqmdQ73HMTAfe2ub5r92KhiBy8XWvSyAMhhBtBz",
"FNnowy94spLAxiD9sSZ7PJSMEruVHEe2P7kvH8NwTqPPtCW",
"FP2E6m2uJwfDYgKsVyKtS1P3VNumDXJwvp2WE7xm3Yo1q47",
"FPDJCymMK8yoZPw3yuxXG4XKSxeRovcrKLfSxMKdm6rxbHA",
"FPLNRDU9XL7YkGEbLwfCEE7BK3xAxFhUpMjRBfM7Tetkuwk",
"FPkLCiKqkmQ9P3xFwHpLdroiSRELaoQGSnm8NEMr56mAuz3",
"FSJJ2GV18xsQrtT6o1DTPH28ubySF77WYxMSkxZteqDpcoE",
"FUUH1yoa6iPELAwN28PToF2VGRAQM5Tn8NoJrzVCKWEpbSW",
"FWJ4jSem9VsuknbEHNsaLukUsC6w4WYhkCgNEzQPWtXUypa",
"FXycEucF1BdaQLvgzYC81KznPTpYRhCXEzPq6noKTEvsztq",
"FZoPvMfxR34WwBYnEGHDKfNHtMrpHLoA2wVzGNu87XstReZ",
"FdNm4j2Qew1iDhFgpiVoRmVeuyDkHVUxxictvZDRCj7Mq5W",
"FdfmDy1pAgrmjN6F1xcsRwp6X7sugVq7SRvo6NVcEc6E4KJ",
"Fg4rDAyzoVzf39Zo8JFPo4W314ntNWNwm3shr4xKe8M1fJg",
"FggXamGXCDW9ngQfAsMggHwAVgRGcMjZdh4Qx58ZCi7YPkc",
"FgrjYHHG7SFG15CRGiowpqQgfi5sGSg6VJbiBtUjJQTXDhd",
"FhRy5CsNB85dVPNRqWnRiRyGkXX8EZFyFBUZQfJ2p2rtZfW",
"FhYr5ReG794nQEmX2f5QLKo62nxESiD8THT3LeKJw3YPxVf",
"FjeAj5EPPCAcJ1mFa6Mkbu1AKVK5aVhaGiSPPoeGDhMa8f3",
"Fm8jU55YzzBrVZhoXRsB9tY8Adf3p5AddD8t7ZQXttwwjLG",
"FmpkQf7RNofMCw5QdxGxFuFMAAXzCv8q7FSoEXTLfPj2c3D",
"FnvowMqfruNqxsWQwXVb1cys4dRWUvrj5UnN61EkDWUviC3",
"Fo9JJ8NtkGhZXqUuAJo8cugcEH3siQoNQNbPXtgLfKbjiyS",
"Foi6DbpYXWkNuBxKF9rnMurFL6b9UisSt2ksix4N3gYsCG7",
"FumZdpJgnZhaoL3LNExmoykUZLoD8zcJ8L6aJpvkoKV2s1K",
"FunWBvH5kuYkQxoNufHoEgajAjSKyZz1yUjYFTZURRSnQf6",
"FvDq8x7aFnSVkJ5ehnsrgHUBokp6TmuBE7X9YJee6bp6ekV",
"FvbZbdfWEGGFu7HxiVbiM7UX5wPvtmWxvG2jCN73UivbB56",
"Fy3BpgvBoQ4VfjRkCCUzazQwVHQjAogviwzzoht8KAP4d9K",
"Fz5WLMi4ZTpfJeYz1mjayckoVpwR4Aw1oqKeN2uLReT1AtK",
"G15TNyTKUbFk9nriDTki62WpY6fgNTAUZp782876muo2SpB",
"G1WdshgUrw24UJjeKpSNKfHPw3XK47fn2x5DGoBnc1A2FPF",
"G2tJwPWn79JRax4SKcbD71WrwXWmkXvhop3A1FANY51xDAM",
"G3avRUrsk5vkvFa8xWmJErvZVDBH7D3pMiXLiArRusGrrdb",
"G3g6PWRnQWLQPLFpyNH6FUKXPzhX2WnDDFJopeBNTLvEg5D",
"G4yPnS6rYbwgE8QPGEiPRimnbe1w6nVKXFehNRQGH6gbPHr",
"G5qDtA3FkRvJ4Z5EcsnDjCESWbgLUj7XdFriZNb6AZy9YKZ",
"G7MMwpHNrY3Eze9XMhj9GNRuMjRstiPdxcHSa2qY8ueVbti",
"G8nQvGu5xhLhmfd7ZdAnCjvDEj8MmiRvSEfAf9Xr1ioSgbU",
"GA9YciWcx6tuPRb1LFnJiLnieFoMLB3TG5p4fy8pzhWDh1S",
"GAperY2KUX5vuCnnvrbn4jUnJESUcNBdUEXpTfNTziq5SQV",
"GDANUR2HwKSp1gA7p8QQJwRFmJ9GmwdfgyQMDfP3DpA868R",
"GFQdgyUL7y7qdkhKUXVsJMFKVTn5d6WDcSkVGWCiF67Pg7m",
"GHnBVHkuZBnwG4jUGC8sBVdyJ2stAcgFTQDEojEu9m56gKh",
"GJnseRYKXQYRNYvmp6vpjp4U7LUqAmRxTBeNs49GkyMRfjh",
"GKGs4ES1u3yCo8zkJFcvqNuoUhzDeGca66Qwuu4cxDP28VX",
"GKicoR7M3BmBudDvZmtusdTN6uF6x2BaQ3FZWLLBxaJ41ub",
"GL47pCLjdWwkmYZTr6yQjo4koSWR7xb6Hg5P5ajVrMxpFbA",
"GNkbRyM66wNFFdargG7PXdN5pPhfmgUkbY1syVKhjL8GaUX",
"GPGpfUY8ZHchZbZxtGdDL365o1E9Xqfq7HMKSV7eVk2eKVW",
"GRVN1g3Tm7Rmeotfh5AAda6Qfgye9nbr1UMoDzWybwTdUdV",
"GTY3EsEV7sXJogaEtesVsJpjufc29MX8cuhoA8NvAt7zss3",
"GVzrJcVSpPUucP3HWcXp7bT37HWuBzisvxqFfKhBEsLPTkg",
"GW36E48nxrvZQvg5G6w2eB36y28GyaVWC8iQsit78yJWVnW",
"GXYxEKCp6zQgNyu5k9D6bTUH7JYCZs6BfQw5eG37qEw3HrE",
"GYjCDp6Tj5JHgtr4CLmCWb36RpZr5kv6ppPmT2RvwZosXeA",
"GeYRRPkyi23wSF3cJGjq82117fKJZUbWsAGimUnzb5RPbB1",
"Gf9h3SKz565CzWJQfvgxtZShQ9ioMAj74pLQX4ZVNHVQodc",
"GgH8UuBcHcLFTr1XVo7uLj4eWjapYEcEq4WjMHVc3jY2KCJ",
"Gghvu31bfQJMt11Yi5VVQqBsMfvTrpSEQ6qySokXHXfrtN2",
"GibJagV7QvJCMw572nicKH8aEPxLTyVZ7WX7evpzixmuAJ4",
"GjF1e3AxczvH7QyAhvPqBr3qmptaMGyhb9DfpbK5KM5VjzN",
"Gk6qCJKEKyDAE2KzZSA9XxB9VNpFACTv5u5yVJLiA16EueZ",
"GkPKDZMcRwi9djMAYcrZzF7fZdtpcDwK3iZNpAyerYcLM7F",
"Gnd7GmBmAo829p2w2ReQJsWdxhDGWmon24yFWmKG6nG3rLM",
"GnfYikESq1aqBiG5P3n1HSTsGveSmEJjR24EBc6LkTR1wdE",
"GoWLzBsj1f23YtdDpyntnvN1LwXKhF5TEeZvBeTVxofgWGR",
"GomreGYeDzvwBZQQpd4dTyxnjPgpiZ99M3tX7YJTFakEnhv",
"GpE5hynVe6JgAwTdZVRDTuaDT44mV89Y1z2gWgjqS9boPWo",
"GpauAAY9kt39us3P5tWtGVb6dBq6vTRzfPaWjHhTVUKuVp4",
"GpodE2S5dPeVjzHB4Drm8R9rEwcQPtwAspXqCVz1ooFWf5K",
"GuZ5Em85y1hd8HmYcJjThWyLnFeu2mjKq3Ed5vt4vU3Em1o",
"GuneYkujpo8oSKrrBzvMdDK3Hs9tpZiFTSqfyaCPaeA7JCf",
"GvaHCJZj5DyLPz2NSg5xpqohakRfySifYprgZzUTwrLE52y",
"GvmvzzbNNeq7L3RyY3rCDdZDr288QbNLL1V8k1diJE1pebG",
"GweU4dFYodvXbAVAKnBE1GGbSQL5EPSzw5UewMEYrLHa7x9",
"GxdtyNYoKmQZUE9uGAmcmsb2cAJebXs4oc46VzY2gBqgpqk",
"GxyCAndwSkRNEecB6QWtQD7Yc2Nz8MNeGCFGXaVUwV3nfPH",
"Gz5jnTUepEGZ7XvzYN2BZiWrS2CR1nh7t7aj7S4ifc1iEJp",
"H1L3XmAueDThWAuU2ATRGzek73MidkZw8RJGcPbGrKj1mGE",
"H1YmDzgoaF6Gh3ARH4xTDYZpAQoCUXn2kGKTRk1bZhNsMS8",
"H3Viqu6M5bsa5wa3zjcSVfrKivKGPc84KPi8Nz2kbyDSzGS",
"H6AcP4Xgbtn5HQVTyA8uTS9LBvs3hgdC3ZhXrSAuEwDLVLz",
"H6RNLG4e7SLTTbrCEHbaTDecMSMFbKTERbp2aqnT5NoF4k8",
"H8YnEJx6dPTBKTVAb43MFam9exQfzv586aAyhzcqEJ1SLNS",
"H8admATcRkGCrF1dTDDBCjQDsYjMkuPaN9YwR2mSCj4DWMQ",
"HBugPU3KmKaRnfkkVK5RpEZZJU75CxMNPbpcrAWdgFKdjSK",
"HEciJWGn4qLJRzM3qR53K2Mb96ghHab1aLyTxJzzmGFfhCo",
"HErWh7D2RzrjWWB2fTJfcAejD9MJpadeWWZM2Wnk7LiNWfG",
"HGFAh9e5GTef7yuqdh7eX7QitkS68LZVNJEKFD4pWnmqvyv",
"HJ9B3TgtohCrT3VVj929kMaMM6QhnDYLjUumMKGMKtpiP7E",
"HKZ2rGKz7a5pL8MV6hNzQW44hTC6SbkfAJBxLjPzJBQqtg3",
"HKtvBGvLv6pp9RpQiHMaoZUx5Zs3zziuu2AENt9L7PFLP6G",
"HLBXyareJwMxdCSoUfHXsqfWwvukLUypGwWRVvGc88SAyhX",
"HM2xVzCQJPYfT3KMtdB4vDwDQWd9aZWmGi9EkECiDcXuNsQ",
"HPFBAvhzXHghMkizMSvYLCtR8ASmV4MXuBUk7J8159ULGGz",
"HQkj5fQEYw81PDJQyabvLt4H6KacJw5Rb5A3Ab6YnJ2oDUw",
"HR4bck1XYD9aoqtjt5BizLirgEXpRWNYgNPJQ2hP1M1xMih",
"HRE1LZbFvwDvMntGQ56gRJLBJn8J69sWE4Psaibn4SazBfW",
"HTyAnvpiG9CAa3pRcmnouknak1vdZshhiAxuWtinEijPLas",
"HUGHnqo2XFZZmeGvhut3sAEDVaV7AEwQh8f6h2BLuU7FrYq",
"HW58itR4caUCdp8c9goLgXj4V5MdUCfQZFYseWdyP5wG7S8",
"HYQFq4zZUr4jfZGPK4jYtRKas4xtVBBnkJfg4HnzDtsiNGs",
"HZDEMq9VJBAKu8mAttnGB7uZvBPLd461ucZ8kCHwtmj614L",
"HaKEf61SYGE6V6HKofDMXvQWjKUFjur9pGDpdc47pqDevA4",
"HaPcanSMnPqJoC9QhsEMLwR46TfbbVgr44yh4m7ZbeuKyMx",
"HbktBpDVERtDz18whHSEtJ2rFsxMJmyHxgBRff5sXnsGakm",
"HdxpV6wA63eEjLmnkhcF59AKeFxqM99r1MZEXxK5iWxbVGC",
"HfbMDpxDubFuZdnRuXgbZCRAPw4xXzeQSacpM8TiACBdmVq",
"HiyhZhiUMvYsovtZPpVcKjhdmkNUbhqKkvKrN1NGUYYSFv2",
"HkYfDKozJFcTM1ebo9dyDPqF2XfZQd2aWzur1HUPKNKrdpY",
"HkuBMQr739WYVf9Fpv4VPbS4zKv7q4yVVEZz7gL7eMXHRQz",
"HqKm1vuvCz4C4ArZFnxDigjYJY4HTgoyrWaeKNvxL4SJ3Wv",
"HsNps1ukUFNfUY6j2ajfjpdVr8msWZCdaFbh8w3ekqg5YKb",
"HuZS2KT6UMQoDUxsDb27hxw8wBiyJM9QidziKYdC7HaT5TW",
"Hut8Vi32mBjJipubTT3ibDcN2rw5eZq3EFyh1gb5SeTNgoX",
"HvsMbdBnkgUm1ea2EqPibHcP4DpnatWtz7jGhuP9QeYhAAc",
"Hvti6oER3Lb5oKxtYcVW82cc8KDsr1LtqtvYcNxLCwUgpMN",
"HxLGmds1YKjgpp1HUdpp5916sYB6nAHCkC1fs1Stk2xZWEJ",
"HxfYoiAdkmEDFusAejuo3zKwB1Q8bJ94GXgV57MW8oziqL1",
"HyWxAGX4cYnawbDxpBvXCeeovK8cCcywvHUj4uhiWQXQNd7",
"HzrQ8JziKrwSsxuidobfX6XVNhKFyQLYfULkVMWymDUf7pA",
"J4BMGF4W9yWiJz4pkhQW73X6QMGpKUzmPppVnqzBCqw5dQq",
"J4ibGw1bqrSkwsw43rUf9w6hyXCxZKrdZJEkcfH7E4yzAL6",
"J62bGdbHT4f3R7aeG1Tt5y9f11bJZLBZUAeZpDaX3HR3oXx",
"J6f5w6eydwAi7pcPy8TNDnYMnBvvZyVXwjQVnJvH8YzUQvd",
"J8jwjHCEGAhWSiTAUyC62Df1H8hUKqQsVYdCKvusRipHWHy",
"J8vr5XuCMjUXfnvQdrZ2M2cWsykk8Wae79uCDEiWymmU8Bh",
"JAXs5Hp5AEB2nHDbJUsUZdnGaH8TnEyv3pquPHAorK5kkh1",
"JBsSffyWTv5vvy3VJ4ro3VSg4NwiiHGe9aCcLTfW2TLWiCt",
"JCBp59HSq5mZigc2v57PFeafPVg5KcSu3e2DCW39aPxSzvY",
"JE3pk8v6QYhHGJtuPh2R82DDPLQBFsMSBYbqXMsa4bbJpVC",
"JEnSTZJpLh91cSryptj57RtFxq9xXqf4U5wBH3qoP91ZZhN",
"JH4xgpSTLqMn4Mo8xBtUitezsvpqTwYN9G7GDpH6wWwyMCG",
"JKyTzmQVXE17pu1wbqHphyaKoTdqg1J5g7C15iEuK8LGKC4",
"JLnxrPb3QEXhVVBxKWaQhchDWgmwJKhY957iz19f1X8kiv2"
]
},
"prevotes": {
"currentWeight": 0,
"missing": [
"Cc2YhyWFfeXv5jfAsFnBKaHr2V5atN4wf6LubeSMpWBUNpa",
"CfTYiCjhcit9N7EJNjAYv3rku6H8uSn6E6TTmmM1NrwdYKB",
"Cicfcxq9fNSVV64wsgqHpLSBedY5TzB1hr6fESXoL5UYZ4x",
"CiqujmJXHwNkg2WVNn6DR9e5TrYD7YkQZ3myExygkKqhpz8",
"CkXk1WRGEb8ZJU1M5W5oHcEgAq9drBRdLac4QjHQwE4bGep",
"CmdHZ3MLTHJhgHTkyC1bm6kwFyGuhCSWcvs5e5DnRWJULRX",
"CoHt3KzCuuFsoT3sftmARcvJ8NF414RvPfaXrRKUg5HAHFh",
"CoUxi1tafPBMRx9yAwsuHZKR9qC8cXkp3d3h63jQJiWJN3Z",
"Cp5Yg6ZUYXFWPpXfkjfQC2Vq9UMtRdAkBVx8BgV94ted3kU",
"CpUj9JPRwKi27GPtxEznxKDbYVW9MYCcz4pJy5VUFVoyEks",
"Cq5fjZKywKh3pNrNNEHyYsAXgfXZD6TMEc8B7BP2CjG5gHQ",
"Cqix2rD93Mdf7ytg8tBavAig2TvhXPgPZ2mejQvkq7qgRPq",
"Cs9HdXcS6hXdAnCMDqCqx1ncqAteiLSQD7GLJLDEStfzRoB",
"CtaGcLbdjMEY3MCm8pS2VuLQ6ZZ3HV1ou6eQvXuUt94hhXx",
"Ctu8uXthRbiFkQHxc4EEsMXTLSzUxGKeNgqVyB8uYfAdZtS",
"Cv4NgBEc48tqfSe6Brzjo1A155a8T31nR6a9YC3xBA5vbXx",
"CwHwmbogSwtRbrkajVBNubPvWmHBGU4bhMido54M9CjuKZD",
"CwfmfRmzPKLj3ntSCejuVwYmQ1F9iZWY4meQrAVoJ2G8Kce",
"CwjLJ1zPWK5Ao9WChAFp7rWGEgN3AyXXjTRPrqgm5WwBpoS",
"CwkMPKWjdHyJdjjJipm2QUWv3mCgyC5DbTBxyCppe5Vikz1",
"Cwr1TMtvYPU1L7yzFtxEw2D4qG2K9HyjX4Xyi3Ly9kfPUWq",
"Cz13yLMRZwtTGRm64vd3rJDwUSSEGqa5jXdbTvuGb6mH1sE",
"CzMLMqDMrRHfdzU5ZJDG78v5WgFFY8QdkYKKhsGk96HTA9L",
"D22L3MZfQJ6e25sKvUKV2ScNCiBLjSz36Qs2dAr9YmMK4wZ",
"D2HSM4BU97upkYgdTqEQSH1nQTXQeGxTmfHE9uS7RJ1adwt",
"D2XYxqEeKmszcyWePVZeMMH9aRLP1s6cDaomUKrQpUNzKRB",
"D3HKWAihSUmg8HrfeFrftSwNK7no261yA9RNr3LUUdsuzuJ",
"D6hDX5craMLkZRmKPPHHVhEkSCHESA3EyNvgAyo1APHQTGL",
"D7NzDRff9ma2Yg1tH2nCQTZx4WgZTtMVFERreKepGkUvFPV",
"D7XuFnGrbcLd5B6oohL3D2d8r1KYwJ2525ZU2zFPtLBTRti",
"D82DwwGJGTcSvtB3SmNrZejnSertbPzpkYvDUp3ibScL3ne",
"DAr9owKmSVDBCC4oTfoAdsSNaAikL2cbczUu865zi3kigYZ",
"DCjxjuZtoHzysSc5z8kduHGwydCfUGgWvkUku44RTGk5mi1",
"DEe4DMG4fNiy9xQZUPGRquBDbtp6A6DsbC69PfPqAGbBfiS",
"DEpBtAKdDKMRr4bKf89roC6JuSVik8YDiB6unapikodP3Mn",
"DFX3Twv2d8zC99aHB8Lj79V7fS1vvguzCnbP2Rnu8JT21vZ",
"DFcTEcDreBwTiV498NBrGqnLfPVKKteASvxmUMyPQzKMwFy",
"DHdM42YdCbdxUqZctUeEGhyGfTphpsDrstJhAQuG68e6NTx",
"DJUJhJ44hKPjgqh3kYSn1nCayzaJLC1xiEXupt6DhyTrdxt",
"DN5do2eDUqX3k2cPvKsWGTSEbnuscUYChy32yfvdZFdBhn4",
"DPLS9R4bJW6Sr4sixhHrkD9Q5BWbiXPfeTHgvGMYKpEb5Uu",
"DQMHjfkB6DLZfxy76Z3M5NqnRncg97ZuyvE18gb3j2nntsQ",
"DQrS7uEgLHV7WDWLBPNfc3yCXfWfrnfsupTH4Zp96WJickw",
"DUoHA96h2b2d36e1mWhndrD2Ss5HNF1gQCHaC7vypKcmS3B",
"DVJV81kab2J6oTyRJ9T3NCwW2DSrysbWCssvMcE6cwZHnAd",
"DWpBhJTnojap4TCV1oLUYmTRzRNamD6yv26iYS56NzoPpW7",
"DYNrzpuVAgyKEC8k4GNnM3bNjeyWMhvgA94qNX4q41ACKiW",
"Dab5JaQvMpY9Zad18sseXyafPSUhP4Df8W6z5E6Wx9xbwCP",
"DadqXmEY1QyKRwgpuWb1ddd5DUb7HposCb7zaDKZEPXHRU8",
"DbwVZ6ZTBaQHTicZiJr9YtsTkJEFg5qBRMN4mACjX7CC3vU",
"DcCJuQS5JrShNP1RHrmtbSSE9QAuAYwA41FV9mojVGcGH2q",
"DdDTr5Fh25S3dR7cvz9TPTFAB1a9DCUuj5acq7ygXQyxqov",
"DdFFbdprsx5bBguJLXqY5jVJsXJqZFhGgJMWzwbroeHk1Vb",
"DfW5AASSn2tEDFbu8ECiUi6YBzwCaB24aaFCiVpj3LG7qmT",
"DfZXXZGWhJRQxibkEKqZj3ZZaWV2iYCDvREwG5EkrxXcGQw",
"Dgb85BCqpwFt9meW9EXvEweVdMHSvqVyp6kzu4bPSC8Dwpm",
"DiFKcf4LmsN7AWacUTQmu8WvdiBhWEnnard61tp3v8CTyNL",
"DiQcjVHteZFh9kNYKcdRM9qwdq4kbWsMUYYaa1E7ee8AMob",
"Dj9oef5L9jMfT9DTGa7frpSgdLYzsBkTNHAox3bh71W3DiK",
"DjY7WgELBnM8DxCb6etKgGuPtTGTU6RU3rdGsQV1P5y1jKc",
"DnPEbAB81SvWiy7NMFFfDxciWGV6u8ZWaEwr7LvuzCD3foC",
"DoFS6cZAd9L7gHbqdfJ2H4kSYHLfFxMtFEmaro9VvFmCAL4",
"DoRWdJFkMjVRXttgsQgc372SwUh3yZ2USMYmRMWrqpLkgLy",
"Dp8FHpZTzvoKXztkfrUAkF6xNf6sjVU5ZLZ29NEGUazouou",
"DpA5fB8iJ3yuRUw9R2ENG5Sme2NFuRcqxxRtCpggATrKMyi",
"DpB37GDrJDYcmg2df2eqsrPKMay1u8hyZ6sQi2FuUiUeNLu",
"DqtRkrmtPANa8wrYR7Ce2LxJxk2iNFtiCxv1cXbx54uqdTN",
"DsQMG46Yew7a6FZ7QtNxh5vDDhZfjTb2CrUgQqjdmVr9dez",
"DuhhwrG7H7RjGCTjBtPNwu2ZpaEbmqpvrwzENvVbcQaGDfN",
"Dv9YENxCfWpdNyqrSS8X2gU42XHxPawtecW5tUGKQ3QHLGN",
"DxHPty3B9fpj3duu6Gc6gCSCAvsydJHJEY5G3oVYT8S5BYJ",
"E4c2BBuVRndrn442Sm3NEo6VgEQkB81aASCZcQ3kJd1eVvm",
"EAxzs82Tb7Cphb4ENSMd8HnKhFfMWZJkG32kVG7JyrX6C1g",
"EDhSKVKviygHeNL4d1PwCMLi2nMu8suHb4utjc417H7ipnU",
"EEGZUN5j8HztGZoGMCDEqxKaES89BUMPdEmisw76Ntaczo8",
"EJaQuJLcSFi4upQ6iYhiQVJPycsiCj6i1Hr92GGdQPfJh2Z",
"EPPZ4fZDL3dzPWmc8ykVd1QtTMQe7EAtRTV5hpdgw2bV8Vx",
"ERMAxAqFwJsbTbxXR7cFD9kWox9MoYaUUKBhJVghrFb2dNN",
"ERUbGg8o5P7goHaZHwpFbh6UsMhrJstaLkZSt6bd1XawhT3",
"ESRccudun1sfSaJ2AsAJyjRiGTjGNpcTCsE1GNRJu5qcetv",
"ETBiNkdbxGNvvYCtXKTHo8Pvxg7K1p6kbpR5qL3y866H8zC",
"ETH5bzi7XxZPRNj2EraffF43M7yCjGrDUzo6a3KFKA5vWTj",
"EVcuKTm8bqzURSPjBTgHqF1abwqpPYY4oAxid9a3VKuwQd5",
"EW7erYVCQhQthHCd2pgMSWKXqvtDwwXNuMohou8k763fQaa",
"EYUQdMcXUtn4KJkJL98SKWf8C8hWPVEfRvZeMSBruRwdyu1",
"EYgJvYZV98fED9Lpc1Jr8TDntfLz5uzFmsMirQRzQy61a4B",
"EZZ7DMwd1t24gHmgD4ekn7f36pPHHt3SCXt7a44GTiprt6d",
"EZc5iZZjGFMXGmBps6rt8QJxns8WN7L66SgkJhHg3dhoJrd",
"EaAdAwRHvCmnkJpjA26RCdCiThQycviNPwyiPQQGC1YZKbB",
"EbaJw5HDyqLurKypUFM99BhQ1rqNLHmMSnQGcdYGQL14XU5",
"EiCesgkAaighBKMpwFSAUdvwE4mRjBjNmmd5fP6d4FG8DAx",
"EimqvBYtHPwvf3PDiqD72pTSUjmhCuFSaCSawAs3k6tQYTD",
"EkDWeoUGue1rBup41awEGmf6gmTemankoSJ8x8KpoyybGgU",
"EmMPBDBrzDsnKBxxUR9wCiZVM8tQnpVvD3XDsTdZ71haW73",
"ErL6bfYX8ZN6CnKTPskY5QnBwF38ZW1XkNzjhFfGF53BY83",
"EtCGTKdyMfYUX7jaTgJq2pt2PExEGfzcppbGafcpaNkahAm",
"EtDKLc5xWW2nfjrokLFWfT1rFbha9bPh5JozEbfiCWHQXQJ",
"EtNAJNfs1DtsMQBYj2bUtKtzJXhEX5mZ8ZrPK7gsF427pj3",
"Ez63HgnwvnPV4QdLdu14BpSrXXGB4BLHHDgzuxqNJfGumYa",
"F16KfQojZmEBvYyZQwC1MgR2P3dSrPfNxF47yqtmPX4dJRd",
"F4q2yRrJ2hu9yfGbjiPvekPNXHJfE9cKdGiWxeakmbgd9Ae",
"F5edJrWioXyuWpUKYZk5FngEovCaevd44DbFXugL19xMf8d",
"F5q2e2cjaeYfB3NkpY3zdxhD7BnJoyZvYAuKkeSWvCtQuYv",
"F7Zabg5T94iGozVuusQCJQCzksBD6zHcGcCK7TV9Q6rcnz6",
"F8nEQdRxv4iCrcJ72XsAXnAm1iyqajSvSuovvic3QTzZViF",
"FBHmyQBEzfQdu94SLrZnXYrZWjpUFfKagWi1HavYj5i7HZn",
"FBVfQsD6Z23qYDNJzyAmUpNxfYt563KUyjGKaRC3sjkVhip",
"FCVN2XQZam1Sqa1RiWr9tDfdaRvYbh4CQGeJYH9tk95uQk2",
"FD5DgPbS1dUNfTkV6oyCBsnqcByWeiZ4rasv3o7KYcbYyTE",
"FE6T6jmbgwy1g3JPUPoDdzd3x8PV7tDTrTEZvwWgmEn4A7W",
"FG36ViMzpfjUjRmcgqA1YDRT7puxyMAU2CKomPo9xAsxCku",
"FGHzRtgn9c9yPDw3rQA5MedSjvbpyXggD28X6vmdJYrsejb",
"FJimD5dnWqGZhTXk5kbYg8Epas2oJW5i4X5HFPJW2Q1vhjn",
"FJixgYmBZaFfv1ctpe6LFX3P47vtmXBbq6goJbzrvZo9fBg",
"FLHzFovZtqmdQ73HMTAfe2ub5r92KhiBy8XWvSyAMhhBtBz",
"FNnowy94spLAxiD9sSZ7PJSMEruVHEe2P7kvH8NwTqPPtCW",
"FP2E6m2uJwfDYgKsVyKtS1P3VNumDXJwvp2WE7xm3Yo1q47",
"FPDJCymMK8yoZPw3yuxXG4XKSxeRovcrKLfSxMKdm6rxbHA",
"FPLNRDU9XL7YkGEbLwfCEE7BK3xAxFhUpMjRBfM7Tetkuwk",
"FPkLCiKqkmQ9P3xFwHpLdroiSRELaoQGSnm8NEMr56mAuz3",
"FSJJ2GV18xsQrtT6o1DTPH28ubySF77WYxMSkxZteqDpcoE",
"FUUH1yoa6iPELAwN28PToF2VGRAQM5Tn8NoJrzVCKWEpbSW",
"FWJ4jSem9VsuknbEHNsaLukUsC6w4WYhkCgNEzQPWtXUypa",
"FXycEucF1BdaQLvgzYC81KznPTpYRhCXEzPq6noKTEvsztq",
"FZoPvMfxR34WwBYnEGHDKfNHtMrpHLoA2wVzGNu87XstReZ",
"FdNm4j2Qew1iDhFgpiVoRmVeuyDkHVUxxictvZDRCj7Mq5W",
"FdfmDy1pAgrmjN6F1xcsRwp6X7sugVq7SRvo6NVcEc6E4KJ",
"Fg4rDAyzoVzf39Zo8JFPo4W314ntNWNwm3shr4xKe8M1fJg",
"FggXamGXCDW9ngQfAsMggHwAVgRGcMjZdh4Qx58ZCi7YPkc",
"FgrjYHHG7SFG15CRGiowpqQgfi5sGSg6VJbiBtUjJQTXDhd",
"FhRy5CsNB85dVPNRqWnRiRyGkXX8EZFyFBUZQfJ2p2rtZfW",
"FhYr5ReG794nQEmX2f5QLKo62nxESiD8THT3LeKJw3YPxVf",
"FjeAj5EPPCAcJ1mFa6Mkbu1AKVK5aVhaGiSPPoeGDhMa8f3",
"Fm8jU55YzzBrVZhoXRsB9tY8Adf3p5AddD8t7ZQXttwwjLG",
"FmpkQf7RNofMCw5QdxGxFuFMAAXzCv8q7FSoEXTLfPj2c3D",
"FnvowMqfruNqxsWQwXVb1cys4dRWUvrj5UnN61EkDWUviC3",
"Fo9JJ8NtkGhZXqUuAJo8cugcEH3siQoNQNbPXtgLfKbjiyS",
"Foi6DbpYXWkNuBxKF9rnMurFL6b9UisSt2ksix4N3gYsCG7",
"FumZdpJgnZhaoL3LNExmoykUZLoD8zcJ8L6aJpvkoKV2s1K",
"FunWBvH5kuYkQxoNufHoEgajAjSKyZz1yUjYFTZURRSnQf6",
"FvDq8x7aFnSVkJ5ehnsrgHUBokp6TmuBE7X9YJee6bp6ekV",
"FvbZbdfWEGGFu7HxiVbiM7UX5wPvtmWxvG2jCN73UivbB56",
"Fy3BpgvBoQ4VfjRkCCUzazQwVHQjAogviwzzoht8KAP4d9K",
"Fz5WLMi4ZTpfJeYz1mjayckoVpwR4Aw1oqKeN2uLReT1AtK",
"G15TNyTKUbFk9nriDTki62WpY6fgNTAUZp782876muo2SpB",
"G1WdshgUrw24UJjeKpSNKfHPw3XK47fn2x5DGoBnc1A2FPF",
"G2tJwPWn79JRax4SKcbD71WrwXWmkXvhop3A1FANY51xDAM",
"G3avRUrsk5vkvFa8xWmJErvZVDBH7D3pMiXLiArRusGrrdb",
"G3g6PWRnQWLQPLFpyNH6FUKXPzhX2WnDDFJopeBNTLvEg5D",
"G4yPnS6rYbwgE8QPGEiPRimnbe1w6nVKXFehNRQGH6gbPHr",
"G5qDtA3FkRvJ4Z5EcsnDjCESWbgLUj7XdFriZNb6AZy9YKZ",
"G7MMwpHNrY3Eze9XMhj9GNRuMjRstiPdxcHSa2qY8ueVbti",
"G8nQvGu5xhLhmfd7ZdAnCjvDEj8MmiRvSEfAf9Xr1ioSgbU",
"GA9YciWcx6tuPRb1LFnJiLnieFoMLB3TG5p4fy8pzhWDh1S",
"GAperY2KUX5vuCnnvrbn4jUnJESUcNBdUEXpTfNTziq5SQV",
"GDANUR2HwKSp1gA7p8QQJwRFmJ9GmwdfgyQMDfP3DpA868R",
"GFQdgyUL7y7qdkhKUXVsJMFKVTn5d6WDcSkVGWCiF67Pg7m",
"GHnBVHkuZBnwG4jUGC8sBVdyJ2stAcgFTQDEojEu9m56gKh",
"GJnseRYKXQYRNYvmp6vpjp4U7LUqAmRxTBeNs49GkyMRfjh",
"GKGs4ES1u3yCo8zkJFcvqNuoUhzDeGca66Qwuu4cxDP28VX",
"GKicoR7M3BmBudDvZmtusdTN6uF6x2BaQ3FZWLLBxaJ41ub",
"GL47pCLjdWwkmYZTr6yQjo4koSWR7xb6Hg5P5ajVrMxpFbA",
"GNkbRyM66wNFFdargG7PXdN5pPhfmgUkbY1syVKhjL8GaUX",
"GPGpfUY8ZHchZbZxtGdDL365o1E9Xqfq7HMKSV7eVk2eKVW",
"GRVN1g3Tm7Rmeotfh5AAda6Qfgye9nbr1UMoDzWybwTdUdV",
"GTY3EsEV7sXJogaEtesVsJpjufc29MX8cuhoA8NvAt7zss3",
"GVzrJcVSpPUucP3HWcXp7bT37HWuBzisvxqFfKhBEsLPTkg",
"GW36E48nxrvZQvg5G6w2eB36y28GyaVWC8iQsit78yJWVnW",
"GXYxEKCp6zQgNyu5k9D6bTUH7JYCZs6BfQw5eG37qEw3HrE",
"GYjCDp6Tj5JHgtr4CLmCWb36RpZr5kv6ppPmT2RvwZosXeA",
"GeYRRPkyi23wSF3cJGjq82117fKJZUbWsAGimUnzb5RPbB1",
"Gf9h3SKz565CzWJQfvgxtZShQ9ioMAj74pLQX4ZVNHVQodc",
"GgH8UuBcHcLFTr1XVo7uLj4eWjapYEcEq4WjMHVc3jY2KCJ",
"Gghvu31bfQJMt11Yi5VVQqBsMfvTrpSEQ6qySokXHXfrtN2",
"GibJagV7QvJCMw572nicKH8aEPxLTyVZ7WX7evpzixmuAJ4",
"GjF1e3AxczvH7QyAhvPqBr3qmptaMGyhb9DfpbK5KM5VjzN",
"Gk6qCJKEKyDAE2KzZSA9XxB9VNpFACTv5u5yVJLiA16EueZ",
"GkPKDZMcRwi9djMAYcrZzF7fZdtpcDwK3iZNpAyerYcLM7F",
"Gnd7GmBmAo829p2w2ReQJsWdxhDGWmon24yFWmKG6nG3rLM",
"GnfYikESq1aqBiG5P3n1HSTsGveSmEJjR24EBc6LkTR1wdE",
"GoWLzBsj1f23YtdDpyntnvN1LwXKhF5TEeZvBeTVxofgWGR",
"GomreGYeDzvwBZQQpd4dTyxnjPgpiZ99M3tX7YJTFakEnhv",
"GpE5hynVe6JgAwTdZVRDTuaDT44mV89Y1z2gWgjqS9boPWo",
"GpauAAY9kt39us3P5tWtGVb6dBq6vTRzfPaWjHhTVUKuVp4",
"GpodE2S5dPeVjzHB4Drm8R9rEwcQPtwAspXqCVz1ooFWf5K",
"GuZ5Em85y1hd8HmYcJjThWyLnFeu2mjKq3Ed5vt4vU3Em1o",
"GuneYkujpo8oSKrrBzvMdDK3Hs9tpZiFTSqfyaCPaeA7JCf",
"GvaHCJZj5DyLPz2NSg5xpqohakRfySifYprgZzUTwrLE52y",
"GvmvzzbNNeq7L3RyY3rCDdZDr288QbNLL1V8k1diJE1pebG",
"GweU4dFYodvXbAVAKnBE1GGbSQL5EPSzw5UewMEYrLHa7x9",
"GxdtyNYoKmQZUE9uGAmcmsb2cAJebXs4oc46VzY2gBqgpqk",
"GxyCAndwSkRNEecB6QWtQD7Yc2Nz8MNeGCFGXaVUwV3nfPH",
"Gz5jnTUepEGZ7XvzYN2BZiWrS2CR1nh7t7aj7S4ifc1iEJp",
"H1L3XmAueDThWAuU2ATRGzek73MidkZw8RJGcPbGrKj1mGE",
"H1YmDzgoaF6Gh3ARH4xTDYZpAQoCUXn2kGKTRk1bZhNsMS8",
"H3Viqu6M5bsa5wa3zjcSVfrKivKGPc84KPi8Nz2kbyDSzGS",
"H6AcP4Xgbtn5HQVTyA8uTS9LBvs3hgdC3ZhXrSAuEwDLVLz",
"H6RNLG4e7SLTTbrCEHbaTDecMSMFbKTERbp2aqnT5NoF4k8",
"H8YnEJx6dPTBKTVAb43MFam9exQfzv586aAyhzcqEJ1SLNS",
"H8admATcRkGCrF1dTDDBCjQDsYjMkuPaN9YwR2mSCj4DWMQ",
"HBugPU3KmKaRnfkkVK5RpEZZJU75CxMNPbpcrAWdgFKdjSK",
"HEciJWGn4qLJRzM3qR53K2Mb96ghHab1aLyTxJzzmGFfhCo",
"HErWh7D2RzrjWWB2fTJfcAejD9MJpadeWWZM2Wnk7LiNWfG",
"HGFAh9e5GTef7yuqdh7eX7QitkS68LZVNJEKFD4pWnmqvyv",
"HJ9B3TgtohCrT3VVj929kMaMM6QhnDYLjUumMKGMKtpiP7E",
"HKZ2rGKz7a5pL8MV6hNzQW44hTC6SbkfAJBxLjPzJBQqtg3",
"HKtvBGvLv6pp9RpQiHMaoZUx5Zs3zziuu2AENt9L7PFLP6G",
"HLBXyareJwMxdCSoUfHXsqfWwvukLUypGwWRVvGc88SAyhX",
"HM2xVzCQJPYfT3KMtdB4vDwDQWd9aZWmGi9EkECiDcXuNsQ",
"HPFBAvhzXHghMkizMSvYLCtR8ASmV4MXuBUk7J8159ULGGz",
"HQkj5fQEYw81PDJQyabvLt4H6KacJw5Rb5A3Ab6YnJ2oDUw",
"HR4bck1XYD9aoqtjt5BizLirgEXpRWNYgNPJQ2hP1M1xMih",
"HRE1LZbFvwDvMntGQ56gRJLBJn8J69sWE4Psaibn4SazBfW",
"HTyAnvpiG9CAa3pRcmnouknak1vdZshhiAxuWtinEijPLas",
"HUGHnqo2XFZZmeGvhut3sAEDVaV7AEwQh8f6h2BLuU7FrYq",
"HW58itR4caUCdp8c9goLgXj4V5MdUCfQZFYseWdyP5wG7S8",
"HYQFq4zZUr4jfZGPK4jYtRKas4xtVBBnkJfg4HnzDtsiNGs",
"HZDEMq9VJBAKu8mAttnGB7uZvBPLd461ucZ8kCHwtmj614L",
"HaKEf61SYGE6V6HKofDMXvQWjKUFjur9pGDpdc47pqDevA4",
"HaPcanSMnPqJoC9QhsEMLwR46TfbbVgr44yh4m7ZbeuKyMx",
"HbktBpDVERtDz18whHSEtJ2rFsxMJmyHxgBRff5sXnsGakm",
"HdxpV6wA63eEjLmnkhcF59AKeFxqM99r1MZEXxK5iWxbVGC",
"HfbMDpxDubFuZdnRuXgbZCRAPw4xXzeQSacpM8TiACBdmVq",
"HiyhZhiUMvYsovtZPpVcKjhdmkNUbhqKkvKrN1NGUYYSFv2",
"HkYfDKozJFcTM1ebo9dyDPqF2XfZQd2aWzur1HUPKNKrdpY",
"HkuBMQr739WYVf9Fpv4VPbS4zKv7q4yVVEZz7gL7eMXHRQz",
"HqKm1vuvCz4C4ArZFnxDigjYJY4HTgoyrWaeKNvxL4SJ3Wv",
"HsNps1ukUFNfUY6j2ajfjpdVr8msWZCdaFbh8w3ekqg5YKb",
"HuZS2KT6UMQoDUxsDb27hxw8wBiyJM9QidziKYdC7HaT5TW",
"Hut8Vi32mBjJipubTT3ibDcN2rw5eZq3EFyh1gb5SeTNgoX",
"HvsMbdBnkgUm1ea2EqPibHcP4DpnatWtz7jGhuP9QeYhAAc",
"Hvti6oER3Lb5oKxtYcVW82cc8KDsr1LtqtvYcNxLCwUgpMN",
"HxLGmds1YKjgpp1HUdpp5916sYB6nAHCkC1fs1Stk2xZWEJ",
"HxfYoiAdkmEDFusAejuo3zKwB1Q8bJ94GXgV57MW8oziqL1",
"HyWxAGX4cYnawbDxpBvXCeeovK8cCcywvHUj4uhiWQXQNd7",
"HzrQ8JziKrwSsxuidobfX6XVNhKFyQLYfULkVMWymDUf7pA",
"J4BMGF4W9yWiJz4pkhQW73X6QMGpKUzmPppVnqzBCqw5dQq",
"J4ibGw1bqrSkwsw43rUf9w6hyXCxZKrdZJEkcfH7E4yzAL6",
"J62bGdbHT4f3R7aeG1Tt5y9f11bJZLBZUAeZpDaX3HR3oXx",
"J6f5w6eydwAi7pcPy8TNDnYMnBvvZyVXwjQVnJvH8YzUQvd",
"J8jwjHCEGAhWSiTAUyC62Df1H8hUKqQsVYdCKvusRipHWHy",
"J8vr5XuCMjUXfnvQdrZ2M2cWsykk8Wae79uCDEiWymmU8Bh",
"JAXs5Hp5AEB2nHDbJUsUZdnGaH8TnEyv3pquPHAorK5kkh1",
"JBsSffyWTv5vvy3VJ4ro3VSg4NwiiHGe9aCcLTfW2TLWiCt",
"JCBp59HSq5mZigc2v57PFeafPVg5KcSu3e2DCW39aPxSzvY",
"JE3pk8v6QYhHGJtuPh2R82DDPLQBFsMSBYbqXMsa4bbJpVC",
"JEnSTZJpLh91cSryptj57RtFxq9xXqf4U5wBH3qoP91ZZhN",
"JH4xgpSTLqMn4Mo8xBtUitezsvpqTwYN9G7GDpH6wWwyMCG",
"JKyTzmQVXE17pu1wbqHphyaKoTdqg1J5g7C15iEuK8LGKC4",
"JLnxrPb3QEXhVVBxKWaQhchDWgmwJKhY957iz19f1X8kiv2"
]
},
"round": 2195,
"thresholdWeight": 167,
"totalWeight": 250
},
"setId": 961
},
"id": 35
}
-13
View File
@@ -1,13 +0,0 @@
{
"jsonrpc": "2.0",
"result": {
"digest": {
"logs": []
},
"extrinsicsRoot": "0x45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0",
"number": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"stateRoot": "0x294c3470ae3be7555240b9d034ec19c3715ba2c3f20b92441f8cea0cab66ab56"
},
"id": 1
}
-20
View File
@@ -1,20 +0,0 @@
{
"jsonrpc": "2.0",
"result": {
"digest": {
"logs": [
{
"Seal": [
256804359,
"0x2c0e0ee8a5d1a073da3f8db002b8eaebcd7b1a7eb25662e09f9ef0ac58d96bf17896256cd5f0bc672f96aab49fe5163ca5cb4c1a0f047dc39e89cd4a9eb2ea05"
]
}
]
},
"extrinsicsRoot": "0x1da0d30001d07991baef3c5c65234c2e88bec659dc0d7138a7e7267e2bacbeb7",
"number": "0xb66",
"parentHash": "0xb58e4d84c2e0db1cdc8c8830aa719015f8c855f29a0dff2b158a160f29f73ba0",
"stateRoot": "0x22f6f5b6992ab87ea5f52b2732ed9e22a88643ed3a97251986857633687fbc54"
},
"id": 1
}
-15
View File
@@ -1,15 +0,0 @@
{
"jsonrpc": "2.0",
"result": {
"digest": {
"logs": [
"0x0461757261210169c97e0f00000000479c09f7ace12ed3e1af2dba6cca6831e257e80feef56c7474d6c69bae6f4e8a6e0045a87afe14296992c38b7d55abcbe617c441cd35e8667abbcb1678f31802"
]
},
"extrinsicsRoot": "0x4133a7c2e9ab3d0c75f93bfba8730011668c697036adb2f22916a8731f68c2fa",
"number": "0x193046",
"parentHash": "0x596b8c3ced242052921135e9b44dba2ba3752b2a92f1cfa361d59b10016cb5b0",
"stateRoot": "0xd9d32d2f3f4af14c506aa59ff5a3132ca0fe5d7f82cdf1e4967a638042e849a6"
},
"id": 16
}
-16
View File
@@ -1,16 +0,0 @@
{
"jsonrpc": "2.0",
"result": {
"digest": {
"logs": [
"0x0642414245b5010100000000d968651f00000000c8a188930c6c1a8fb15316992a36f29671049dfdb96d9248747e90b80c48547af89b3238620eaec599e6a5bfedf3ae538a6cb4e19326ac2af9c21494713fc70af38629db7bcc42bf8110655d7b3bb1cec3790e39c660111e7fac4a0cba058305",
"0x05424142450101168781581fefb96e500cfd56dbf5b9709a6babb19f74369ea7b660ea861e180c08899182e4beb8da95848b87a16a64132f497cea3cb7aa6e3f3224adb9945989"
]
},
"extrinsicsRoot": "0x82faad984718975bccbfd58fdc67f59d367d678419a918f79c7a58cbb8e34a5b",
"number": "0x14fd",
"parentHash": "0xf0b30ecdc94c481ca96234d2a17408fef6c401f705a1f5f911e58d2a1f33fcb6",
"stateRoot": "0xaa796217f92ed5a40ec03d184b05ad1e1824d2824559719b9bef3304ee3bff55"
},
"id": 1
}
@@ -1,45 +0,0 @@
{
"jsonrpc": "2.0",
"result": {
"apis": [
[
"0xdf6acb689907609b",
2
],
[
"0x37e397fc7c91f5e4",
1
],
[
"0x40fe3ad401f8959a",
3
],
[
"0xd2bc9897eed08f15",
1
],
[
"0xf78b278be53f454c",
1
],
[
"0xed99c5acb25eedf5",
2
],
[
"0xdd718d5cc53262d4",
1
],
[
"0x7801759919ee83e5",
1
]
],
"authoringVersion": 10,
"implName": "substrate-node",
"implVersion": 60,
"specName": "node",
"specVersion": 60
},
"id": 21
}
@@ -1,58 +0,0 @@
{
"jsonrpc": "2.0",
"result": {
"block": {
"extrinsics": [
"0x010300b0b1c85b00000000"
],
"header": {
"digest": {
"logs": [
{
"AuthoritiesChange": [
"0x8101764f45778d4980dadaceee6e8af2517d3ab91ac9bec9cd1714fa5994081c",
"0x4de37a07567ebcbf8c64568428a835269a566723687058e017b6d69db00a77e7",
"0x063d7787ebca768b7445dfebe7d62cbb1625ff4dba288ea34488da266dd6dca5",
"0x82c39b31a2b79a90f8e66e7a77fdb85a4ed5517f2ae39f6a80565e8ecae85cf5",
"0x040c8dc048a6d129803caa851c4c9633610068e4ef9eaa0bfbf40dfbfd43d922",
"0x2347812ef77d9fd3cca1673e1b2bde54da96fddcf79d92832b1e2a819724f140",
"0x673bda1eda2aa719d707473163d45300819f2da9fe6fdad6d74ce222ada2665a"
]
}
]
},
"extrinsicsRoot": "0x295fe0f63daaa9552f497f6c4afcbab59ca5c681da9219907f188c765b73fb92",
"number": 262560,
"parentHash": "0x99b5b6d28a18c1fee26aa18a7f15b5ab20d416bc70319b4c3b3a7ae5a98284ea",
"stateRoot": "0x24bab7fe0fee187a57bd0029ba151e81a0bae0fea96ad9f85c579c1ba9d88948"
}
},
"justification": {
"hash": "0x44bc10702350e3548eb8ea52354e8e07a5646e108f0aceef9488131f6f929f3b",
"round_number": 0,
"signatures": [
[
"0x063d7787ebca768b7445dfebe7d62cbb1625ff4dba288ea34488da266dd6dca5",
"0xe551027d14a2107328685f14a6e6b6a217d0e587ed40b55e3a356f4d02468fb968d9d1dd9d0c7026b712bf4d2eac3bc3ff9eeb2c9560a40575f41df69e769804"
],
[
"0x8101764f45778d4980dadaceee6e8af2517d3ab91ac9bec9cd1714fa5994081c",
"0xf303671e97a9b1811d3c0e1b87ebeb89f340ccc5d0d634c9596ca4764943561304df268498c133e88ab3a859d86821d85ad48ac53c54df9ec85e2a515adb0b00"
],
[
"0x82c39b31a2b79a90f8e66e7a77fdb85a4ed5517f2ae39f6a80565e8ecae85cf5",
"0xb2e326eb1ea3a803e6f331cbf2da8add553f08450a14fe1a26ba31039e3e1a70c6dcffd3361b94b973cdc7422f9e9b99edaea98117dda35275e6a36e6c54e30d"
],
[
"0x4de37a07567ebcbf8c64568428a835269a566723687058e017b6d69db00a77e7",
"0x1f739aa8cfcaa81362e3eb9c574844df40e3db009676d6065a7b5662d5e00b1385526257ba43a43cf84e7873354e3919e0dc2ac85a0426b43b3f37d311f64907"
],
[
"0x2347812ef77d9fd3cca1673e1b2bde54da96fddcf79d92832b1e2a819724f140",
"0x01370b87621008e9ee55476dc0c4246862aed787b94c27105eaba9c09e197882c6f40436ce2f45f0dbae03ff81af117bdaabc18f627b72aa6318326f6a067b05"
]
]
}
},
"id": 8
}
@@ -1,23 +0,0 @@
{
"jsonrpc": "2.0",
"result": {
"block": {
"extrinsics": [
],
"header": {
"digest": {
"logs": [
"0x066175726120614c411700000000",
"0x05617572610101c4dd7f7d2a7521a91b821c44d0b8a628e4d804c0428b20a8e281aeaff575001cd55f4540db0fa78e5521b330d1a7ef9e8b922ca723097b4ab83e59a13fb44f0c"
]
},
"extrinsicsRoot": "0x907510396823ad5299bd8b7e3d922e182f117032a0653a85f9ad3cb58044a086",
"number": "0x9e",
"parentHash": "0xf17a9ca2e515a68c6e1b0315c5182d237580507c60487f5a6b75c703aa3e84ab",
"stateRoot": "0x5a4cfd95c29f8db93119a11e012c3905767cc4b7e3a3a2f6bc72879e51a47cd4"
}
},
"justification": null
},
"id": 86
}
@@ -1 +0,0 @@
{"jsonrpc":"2.0","result":{"block":{"extrinsics":["0x20010100038831055d","0x140109007902"],"header":{"digest":{"logs":["0x066175726120624c411700000000","0x05617572610101d64f44f8c3bb3deeaa8323aadfa943c3510546bf85817788b55a4aa27e21b8492ea574300966c60bd42571bfbca9f53bb682fb6c7e703aade3489680764bb109"]},"extrinsicsRoot":"0x9ffac24de7dd587cbd38862fa1cef38d47b7cfb82d3313b926d60c855b203405","number":"0x9f","parentHash":"0x78b13ce0daf54a5940554f7dbe4af4e97120e4ab2a073043f48889cee25859cf","stateRoot":"0x2671c3c7bac9098af71ebc15998c2fb5e366da4db5a0b0287ba13d8afc9b2bd4"}},"justification":null},"id":75}
@@ -1,24 +0,0 @@
{
"jsonrpc": "2.0",
"result": {
"block": {
"extrinsics": [
"0x250281ff90b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe2290b20be8c5929d7d4dfe3f8124bad55217fa0dc53210399448a7bddefade7a7e64489c1acbfe65eb42d235e6d54279cd88e4d6d6147862a4e5c6ba2ed44594006c000600ffe659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4ee5c0"
],
"header": {
"digest": {
"logs": [
"0x0661757261208e08491700000000",
"0x05617572610101039584bca9a9dd88d4bede8787ce022ddea809cef8ebdbf0d7b17c918e49921c86e6d6aedebc991630f7634b3f3306b6c134e87325f34301de5745df0da0240e"
]
},
"extrinsicsRoot": "0xe52df22c1a9deb8ed460e5d80a3dd8e1090bfd51631f53eca465915089703b92",
"number": "0xd0a",
"parentHash": "0xcf5fa8ef2fe76c0d6288535231d21989829933b986d32a3ba452173c5a2074f1",
"stateRoot": "0x3fe7723fdb1a60938e45b72f1d84f414434b9df4ece367dbb39912ebe1a85e9f"
}
},
"justification": null
},
"id": 7
}
@@ -1,24 +0,0 @@
{
"jsonrpc": "2.0",
"result": {
"block": {
"extrinsics": [
"0x290281ff90b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22f2040bbcf048e6bfb68c0722fe379c93afbc8f885ee21fc5b5679d4ade606a7d46cf151a2b8ad5bbce6ee198a41e3251302f5e9c64f457dbeacacf3e43b448087033000600ffe659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4ee5c0"
],
"header": {
"digest": {
"logs": [
"0x0661757261209808491700000000",
"0x0561757261010195888c7f16b54cf99117933d503faea1a7a8bdab4b6a8144c078b6c3d9e55d3a1114af92b2360a0694a057df016e1ad2bd750d43411464b9e7414e921cfdc00b"
]
},
"extrinsicsRoot": "0x751fc4dfad59fefd3c4f730596f1a742b56c9936b4e3d4801015472261a0ce48",
"number": "0xd14",
"parentHash": "0x497b3b929ae079f6f0d280ba85744b87559eaab8969619be5cc7596c5a974cb9",
"stateRoot": "0x011c352e0f97cad72578f9e1e8ec759096365b891928d6b094d0d8d329f9bbab"
}
},
"justification": null
},
"id": 8
}
@@ -1,25 +0,0 @@
{
"jsonrpc": "2.0",
"result": {
"block": {
"extrinsics": [
"0x280203000b868d92346c01",
"0x14020c008151"
],
"header": {
"digest": {
"logs": [
"0x0642414245c101a5cb8138000000000000000000000000549baa911a66f7bab6318a6930380bfd015713f77b6775d2df467d37dadd224dda0a80881cfbddc580d45b3b7358f28e4990d950df4508590543d39d635b3402822279397c1d55449b201710c706ce5de3fd3cb2e269bea6ba89c71e4446fd06",
"0x05424142450101e4e9f32bb0e72821032f752422c6dc23e8acd5388eb17cbe009d7e3764a0625b38c1b90ec6f19bb5d8c093deeddf9df01845352ac6fefad49601be1f726cea09"
]
},
"extrinsicsRoot": "0x794ff5dde3eaa27d56cc760dd18774c883d51ed9206ff93c9a7e7d6a8a6dca11",
"number": "0x1461",
"parentHash": "0x28cda71a46766fe3cf64475b566916d367617d14627e895067f4186e65609d0e",
"stateRoot": "0xc7803b39c1b30a87566ec9d95890db76cf2eee7034faee4c8a0997759e7bcb7e"
}
},
"justification": null
},
"id": 29
}
File diff suppressed because one or more lines are too long
-11
View File
@@ -1,11 +0,0 @@
// Copyright 2017-2021 @polkadot/types authors & contributors
// SPDX-License-Identifier: Apache-2.0
// Be able to import json in TS
// https://stackoverflow.com/questions/49996456/importing-json-file-in-typescript
declare module '*.json' {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const value: any;
export default value;
}
+2 -1
View File
@@ -1,9 +1,10 @@
// Copyright 2017-2021 @polkadot/types authors & contributors
// SPDX-License-Identifier: Apache-2.0
import substrateData from '@polkadot/types-support/metadata/static-substrate';
import { TypeRegistry } from '../create';
import { Metadata } from './Metadata';
import substrateData from './static-substrate';
describe('Metadata', (): void => {
it('allows creation from hex with JSON equivalence', (): void => {
+5 -7
View File
@@ -2,12 +2,10 @@
1. New branch :)
2. `curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "state_getMetadata", "params":[]}' http://localhost:9933`
3. Copy the latest version folder (vx) in `types/Metadata`
3. Copy the latest version folder (vx) in `types-support/metadata`
3. Copy the result (hex-only) into `static.ts`, as of now linked to `v6/static.ts`
4. Rust Metadata tests, `yarn run test packages/types/src/Metadata`
4. Rust Metadata tests, `yarn run test packages/types/src/metadata`
5. Add new class types as required (find missing in Rust code, add)
6. Add all classes to `src/classes.ts`
7. Repeat 4-6 until passing
8. Update parsed JSON to actual output version, `v6/latest.*.json`
9. All tests
10. Make PR
6. Repeat 4-6 until passing
7. All tests
8. Make PR
@@ -4,10 +4,11 @@
import type { BlockNumber } from '../../../interfaces';
import type { Constants } from '../types';
import rpcMetadata from '@polkadot/types-support/metadata/static-substrate';
import rpcMetadataV10 from '@polkadot/types-support/metadata/v10/substrate-hex';
import { TypeRegistry } from '../../../create';
import { Metadata } from '../../Metadata';
import rpcMetadata from '../../static-substrate';
import rpcMetadataV10 from '../../v10/substrate-hex';
import { decorateConstants } from '..';
function init (meta: string): [Constants, TypeRegistry] {
@@ -2,11 +2,11 @@
// SPDX-License-Identifier: Apache-2.0
import { createTestPairs } from '@polkadot/keyring/testingPairs';
import metadataStatic from '@polkadot/types-support/metadata/static-substrate';
import { BN } from '@polkadot/util';
import { TypeRegistry } from '../../../create';
import { Metadata } from '../../Metadata';
import metadataStatic from '../../static-substrate';
import { decorateExtrinsics } from '..';
const keyring = createTestPairs({ type: 'ed25519' }, false);
@@ -1,11 +1,11 @@
// Copyright 2017-2021 @polkadot/types authors & contributors
// SPDX-License-Identifier: Apache-2.0
import json from '@polkadot/types-support/metadata/static-substrate';
import { u8aToHex } from '@polkadot/util';
import { TypeRegistry } from '../../create';
import { Metadata } from '../Metadata';
import json from '../static-substrate';
import { decorateConstants, decorateExtrinsics, decorateStorage } from './';
const registry = new TypeRegistry();
@@ -2,11 +2,11 @@
// SPDX-License-Identifier: Apache-2.0
import { createTestPairs } from '@polkadot/keyring/testingPairs';
import rpcMetadata from '@polkadot/types-support/metadata/static-substrate';
import { u8aToHex } from '@polkadot/util';
import { TypeRegistry } from '../../../create';
import { Metadata } from '../../';
import rpcMetadata from '../../static-substrate';
import { decorateStorage } from '..';
const keyring = createTestPairs({ type: 'ed25519' });
@@ -1,6 +0,0 @@
// Copyright 2017-2021 @polkadot/types authors & contributors
// SPDX-License-Identifier: Apache-2.0
import metadata from './v13/polkadot-hex';
export default metadata;
@@ -1,6 +0,0 @@
// Copyright 2017-2021 @polkadot/types authors & contributors
// SPDX-License-Identifier: Apache-2.0
import metadata from './v13/substrate-hex';
export default metadata;
+18 -6
View File
@@ -5,6 +5,9 @@ import type { Codec, Registry } from '../../types';
import type { MetadataInterface } from '../types';
import type { Check } from './types';
import fs from 'fs';
import path from 'path';
import { assert, hexToU8a, stringify, u8aToHex } from '@polkadot/util';
import { TypeRegistry } from '../../create';
@@ -13,20 +16,29 @@ import { Metadata } from '../Metadata';
import { getUniqTypes } from './getUniqTypes';
/** @internal */
export function decodeLatestMeta<Modules extends Codec> (registry: Registry, version: number, { compare, data }: Check): void {
export function decodeLatestMeta<Modules extends Codec> (registry: Registry, type: string, version: number, { compare, data }: Check): void {
it('decodes metadata properly', (): void => {
const metadata = new Metadata(registry, data);
registry.setMetadata(metadata);
expect(metadata.version).toBe(version);
expect((metadata[`asV${version}` as keyof Metadata] as unknown as MetadataInterface<Modules>).modules.length).not.toBe(0);
try {
expect(metadata.version).toBe(version);
expect((metadata[`asV${version}` as keyof Metadata] as unknown as MetadataInterface<Modules>).modules.length).not.toBe(0);
expect(metadata.toJSON()).toEqual(compare);
} catch (error) {
console.error(stringify(metadata.toJSON()));
if (process.env.GITHUB_REPOSITORY) {
console.error(stringify(metadata.toJSON()));
throw error;
throw error;
}
fs.writeFileSync(
path.join(process.cwd(), `packages/types-support/src/metadata/v${version}/${type}-json.json`),
stringify(metadata.toJSON(), 2),
{ flag: 'w' }
);
}
});
}
@@ -91,7 +103,7 @@ export function testMeta (version: number, matchers: Record<string, Check>, with
const matcher = matchers[type];
const registry = new TypeRegistry();
decodeLatestMeta(registry, version, matcher);
decodeLatestMeta(registry, type, version, matcher);
toLatest(registry, version, matcher.data);
@@ -1,9 +1,10 @@
// Copyright 2017-2021 @polkadot/types authors & contributors
// SPDX-License-Identifier: Apache-2.0
import staticData from '@polkadot/types-support/metadata/static-substrate';
import { TypeRegistry } from '../../create';
import { Metadata } from '../Metadata';
import staticData from '../static-substrate';
describe('toCallsOnly', (): void => {
const registry = new TypeRegistry();
@@ -1,9 +1,10 @@
// Copyright 2017-2021 @polkadot/types authors & contributors
// SPDX-License-Identifier: Apache-2.0
import substrateData from '@polkadot/types-support/metadata/v10/substrate-hex';
import substrateJson from '@polkadot/types-support/metadata/v10/substrate-json.json';
import { testMeta } from '../util/testUtil';
import substrateData from './substrate-hex';
import substrateJson from './substrate-json.json';
testMeta(10, {
substrate: {
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
@@ -1,9 +1,10 @@
// Copyright 2017-2021 @polkadot/types authors & contributors
// SPDX-License-Identifier: Apache-2.0
import substrateData from '@polkadot/types-support/metadata/v11/substrate-hex';
import substrateJson from '@polkadot/types-support/metadata/v11/substrate-json.json';
import { testMeta } from '../util/testUtil';
import substrateData from './substrate-hex';
import substrateJson from './substrate-json.json';
testMeta(11, {
substrate: {
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
@@ -1,9 +1,10 @@
// Copyright 2017-2021 @polkadot/types authors & contributors
// SPDX-License-Identifier: Apache-2.0
import substrateData from '@polkadot/types-support/metadata/v12/substrate-hex';
import substrateJson from '@polkadot/types-support/metadata/v12/substrate-json.json';
import { testMeta } from '../util/testUtil';
import substrateData from './substrate-hex';
import substrateJson from './substrate-json.json';
testMeta(12, {
substrate: {
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
@@ -1,11 +1,12 @@
// Copyright 2017-2021 @polkadot/types authors & contributors
// SPDX-License-Identifier: Apache-2.0
import polkadotData from '@polkadot/types-support/metadata/v13/polkadot-hex';
import polkadotJson from '@polkadot/types-support/metadata/v13/polkadot-json.json';
import substrateData from '@polkadot/types-support/metadata/v13/substrate-hex';
import substrateJson from '@polkadot/types-support/metadata/v13/substrate-json.json';
import { testMeta } from '../util/testUtil';
import polkadotData from './polkadot-hex';
import polkadotJson from './polkadot-json.json';
import substrateData from './substrate-hex';
import substrateJson from './substrate-json.json';
testMeta(13, {
polkadot: {
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
@@ -2,86 +2,90 @@
// SPDX-License-Identifier: Apache-2.0
import type { MetadataAll } from '../../interfaces/metadata';
import type { Check } from '../util/types';
import fs from 'fs';
import path from 'path';
import kusamaData from '@polkadot/types-support/metadata/v14/kusama-hex';
import kusamaJson from '@polkadot/types-support/metadata/v14/kusama-json.json';
import kusamaTypes from '@polkadot/types-support/metadata/v14/kusama-types.json';
import substrateData from '@polkadot/types-support/metadata/v14/substrate-hex';
import substrateJson from '@polkadot/types-support/metadata/v14/substrate-json.json';
import substrateTypes from '@polkadot/types-support/metadata/v14/substrate-types.json';
import { stringify } from '@polkadot/util';
import { TypeRegistry } from '../../create';
import { Metadata } from '../Metadata';
import polkadotData from './polkadot-hex';
import polkadotJson from './polkadot-json.json';
import polkadotTypes from './polkadot-types.json';
import substrateData from './substrate-hex';
import substrateJson from './substrate-json.json';
import substrateTypes from './substrate-types.json';
describe('MetadataV14 (substrate)', (): void => {
// FIXME This is to be replaced with the proper version (here as a stop-gap)
it('parses', (): void => {
const registry = new TypeRegistry();
const metadata = new Metadata(registry, substrateData);
const all = metadata.get('metadata') as MetadataAll;
const v14 = all.asV14;
const jsonStruct = v14.toJSON();
const jsonTypes = v14.lookup.types.toJSON();
function testMeta (version: number, matchers: Record<string, Check>): void {
describe(`MetadataV${version}`, (): void => {
describe.each(Object.keys(matchers))('%s', (type): void => {
const { compare, data, types } = matchers[type];
delete (jsonStruct as Record<string, unknown>).lookup;
// FIXME This is to be replaced with the proper version (here as a stop-gap)
it('parses', (): void => {
const registry = new TypeRegistry();
const metadata = new Metadata(registry, data);
const all = metadata.get('metadata') as MetadataAll;
const v14 = all.asV14;
const jsonStruct = v14.toJSON();
const jsonTypes = v14.lookup.types.toJSON();
const allJson = {
magicNumber: 1635018093,
metadata: {
v14: jsonStruct
}
};
delete (jsonStruct as Record<string, unknown>).lookup;
try {
expect(allJson).toEqual(substrateJson);
} catch (error) {
console.error(JSON.stringify(allJson));
const allJson = {
magicNumber: 1635018093,
metadata: {
v14: jsonStruct
}
};
throw error;
}
try {
expect(allJson).toEqual(compare);
} catch (error) {
if (process.env.GITHUB_REPOSITORY) {
console.error(stringify(allJson));
try {
expect(jsonTypes).toEqual(substrateTypes);
} catch (error) {
console.error(JSON.stringify(jsonTypes));
throw error;
}
throw error;
}
});
});
describe('MetadataV14 (polkadot)', (): void => {
// FIXME This is to be replaced with the proper version (here as a stop-gap)
it('parses', (): void => {
const registry = new TypeRegistry();
const metadata = new Metadata(registry, polkadotData);
const all = metadata.get('metadata') as MetadataAll;
const v14 = all.asV14;
const jsonStruct = v14.toJSON();
const jsonTypes = v14.lookup.types.toJSON();
delete (jsonStruct as Record<string, unknown>).lookup;
const allJson = {
magicNumber: 1635018093,
metadata: {
v14: jsonStruct
}
};
try {
expect(allJson).toEqual(polkadotJson);
} catch (error) {
console.error(JSON.stringify(allJson));
throw error;
}
try {
expect(jsonTypes).toEqual(polkadotTypes);
} catch (error) {
console.error(JSON.stringify(jsonTypes));
throw error;
}
fs.writeFileSync(
path.join(process.cwd(), `packages/types-support/src/metadata/v${version}/${type}-json.json`),
stringify(allJson, 2),
{ flag: 'w' }
);
}
try {
expect(jsonTypes).toEqual(types);
} catch (error) {
if (process.env.GITHUB_REPOSITORY) {
console.error(stringify(jsonTypes));
throw error;
}
fs.writeFileSync(
path.join(process.cwd(), `packages/types-support/src/metadata/v${version}/${type}-types.json`),
stringify(jsonTypes, 2),
{ flag: 'w' }
);
}
});
});
});
}
testMeta(14, {
kusama: {
compare: kusamaJson as Record<string, unknown>,
data: kusamaData,
types: kusamaTypes as Record<string, unknown>
},
substrate: {
compare: substrateJson as Record<string, unknown>,
data: substrateData,
types: substrateTypes as Record<string, unknown>
}
});
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,9 +1,10 @@
// Copyright 2017-2021 @polkadot/types authors & contributors
// SPDX-License-Identifier: Apache-2.0
import substrateData from '@polkadot/types-support/metadata/v9/substrate-hex';
import substrateJson from '@polkadot/types-support/metadata/v9/substrate-json.json';
import { testMeta } from '../util/testUtil';
import substrateData from './substrate-hex';
import substrateJson from './substrate-json.json';
testMeta(9, {
substrate: {
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
@@ -1,9 +1,10 @@
// Copyright 2017-2021 @polkadot/types authors & contributors
// SPDX-License-Identifier: Apache-2.0
import rpcDataV11 from '@polkadot/types-support//metadata/v11/substrate-hex';
import { TypeRegistry } from '../create';
import { decorateStorage, Metadata } from '../metadata';
import rpcDataV11 from '../metadata/v11/substrate-hex';
import { StorageKey } from '.';
describe('StorageKey', (): void => {