Explicit tie of metadata to registry (not implicit) (#2621)

* Explicit tie of metadata to registry (not implicit)

* Update type generation

* Test updates

* Revert non-problematic

* Cleanup mocks

* Updata metadata tests

* CHANGELOG

* linting
This commit is contained in:
Jaco Greeff
2020-09-17 23:15:09 +02:00
committed by GitHub
parent cdd6544e20
commit b56c1a8282
26 changed files with 84 additions and 50 deletions
+3 -2
View File
@@ -83,8 +83,9 @@ describe('Tuple', (): void => {
});
it('creates properly via actual hex string', (): void => {
// eslint-disable-next-line no-new
new Metadata(registry, rpcMetadata);
const metadata = new Metadata(registry, rpcMetadata);
registry.setMetadata(metadata);
const test = new (Tuple.with([
registry.createClass('BlockNumber'), registry.createClass('VoteThreshold')
+2 -2
View File
@@ -14,9 +14,9 @@ import Vec from './Vec';
import Tuple from './Tuple';
const registry = new TypeRegistry();
const metadata = new Metadata(registry, rpcMetadata);
// eslint-disable-next-line no-new
new Metadata(registry, rpcMetadata);
registry.setMetadata(metadata);
describe('Vec', (): void => {
let vector: Vec<Codec>;
@@ -9,9 +9,9 @@ import { TypeRegistry } from '../create';
import Extrinsic from './Extrinsic';
const registry = new TypeRegistry();
const metadata = new Metadata(registry, rpcMetadata);
// eslint-disable-next-line no-new
new Metadata(registry, rpcMetadata);
registry.setMetadata(metadata);
describe('Extrinsic', (): void => {
describe('V1', (): void => {
@@ -8,9 +8,9 @@ import { TypeRegistry } from '../create';
import SignerPayload from './SignerPayload';
const registry = new TypeRegistry();
const metadata = new Metadata(registry, rpcMetadata);
// eslint-disable-next-line no-new
new Metadata(registry, rpcMetadata);
registry.setMetadata(metadata);
describe('SignerPayload', (): void => {
const TEST = {
@@ -11,11 +11,11 @@ import { TypeRegistry } from '../../create';
import Extrinsic from './Extrinsic';
const registry = new TypeRegistry();
const decorated = new Decorated(registry, rpcMetadata);
const metadata = new Metadata(registry, rpcMetadata);
const decorated = new Decorated(registry, metadata);
const keyring = testingPairs({ type: 'ed25519' }, false);
// eslint-disable-next-line no-new
new Metadata(registry, rpcMetadata);
registry.setMetadata(metadata);
describe('ExtrinsicV2', (): void => {
it('constructs a sane Uint8Array (default)', (): void => {
@@ -11,11 +11,11 @@ import { TypeRegistry } from '../../create';
import Extrinsic from './Extrinsic';
const registry = new TypeRegistry();
const decorated = new Decorated(registry, rpcMetadata);
const metadata = new Metadata(registry, rpcMetadata);
const decorated = new Decorated(registry, metadata);
const keyring = testingPairs({ type: 'ed25519' }, false);
// eslint-disable-next-line no-new
new Metadata(registry, rpcMetadata);
registry.setMetadata(metadata);
describe('ExtrinsicV3', (): void => {
it('constructs a sane Uint8Array (default)', (): void => {
@@ -5,17 +5,17 @@ import BN from 'bn.js';
import testingPairs from '@polkadot/keyring/testingPairs';
import Decorated from '@polkadot/metadata/Decorated';
import Metadata from '@polkadot/metadata/Metadata';
import metadataStatic from '@polkadot/metadata/Metadata/static';
import rpcMetadata from '@polkadot/metadata/Metadata/static';
import { TypeRegistry } from '../../create';
import Extrinsic from './Extrinsic';
const registry = new TypeRegistry();
const decorated = new Decorated(registry, metadataStatic);
const metadata = new Metadata(registry, rpcMetadata);
const decorated = new Decorated(registry, metadata);
const keyring = testingPairs({ type: 'ed25519' }, false);
// eslint-disable-next-line no-new
new Metadata(registry, metadataStatic);
registry.setMetadata(metadata);
describe('ExtrinsicV4', (): void => {
it.only('constructs a sane Uint8Array (default)', (): void => {
+2 -2
View File
@@ -12,9 +12,9 @@ import block00300 from '../json/SignedBlock.003.00.json';
import Block from './Block';
const registry = new TypeRegistry();
const metadata = new Metadata(registry, metadataStatic);
// eslint-disable-next-line no-new
new Metadata(registry, metadataStatic);
registry.setMetadata(metadata);
describe('Block', (): void => {
it('has a valid toRawType', (): void => {
+2 -2
View File
@@ -8,9 +8,9 @@ import { TypeRegistry } from '../create';
import Call from './Call';
const registry = new TypeRegistry();
const metadata = new Metadata(registry, metadataStatic);
// eslint-disable-next-line no-new
new Metadata(registry, metadataStatic);
registry.setMetadata(metadata);
describe('Call', (): void => {
it('handles decoding correctly (bare)', (): void => {
+2 -2
View File
@@ -22,9 +22,9 @@ const UNCONSTRUCTABLE = [
].map((v): string => v.toLowerCase());
const registry = new TypeRegistry();
const metadata = new Metadata(registry, metadataStatic);
// eslint-disable-next-line no-new
new Metadata(registry, metadataStatic);
registry.setMetadata(metadata);
function testTypes (type: string, typeNames: string[]): void {
describe(type, (): void => {
@@ -12,9 +12,9 @@ import mortalTxs from '../../json/SignedBlock.004.mortal.json';
import knownMehods from '../../json/SignedBlock.005.json';
const registry = new TypeRegistry();
const metadata = new Metadata(registry, metadataStatic);
// eslint-disable-next-line no-new
new Metadata(registry, metadataStatic);
registry.setMetadata(metadata);
describe('SignedBlock', (): void => {
it('decodes a full block', (): void => {
@@ -17,8 +17,9 @@ describe('EventRecord', (): void => {
describe('EventRecordTo76', (): void => {
beforeEach((): void => {
// eslint-disable-next-line no-new
new Metadata(registry, rpcMetadataV1);
const metadata = new Metadata(registry, rpcMetadataV1);
registry.setMetadata(metadata);
});
it('decodes correctly', (): void => {
@@ -31,8 +32,9 @@ describe('EventRecord', (): void => {
describe('EventRecord (current)', (): void => {
beforeEach((): void => {
// eslint-disable-next-line no-new
new Metadata(registry, rpcMetadata);
const metadata = new Metadata(registry, rpcMetadata);
registry.setMetadata(metadata);
});
it('decodes older EventRecord correctly', (): void => {