diff --git a/copy-to-apps.sh b/copy-to-apps.sh index 9873782af9..40f7826a62 100755 --- a/copy-to-apps.sh +++ b/copy-to-apps.sh @@ -15,7 +15,7 @@ yarn polkadot-dev-build-ts copy_folder "api" "api" copy_folder "api-contract" "api-contract" copy_folder "api-derive" "api-derive" -copy_folder "api-metadata" "api-metadata" +copy_folder "metadata" "metadata" copy_folder "rpc-core" "rpc-core" copy_folder "rpc-provider" "rpc-provider" copy_folder "type-jsonrpc" "jsonrpc" diff --git a/jest.config.js b/jest.config.js index 47355101f1..c47ba76192 100644 --- a/jest.config.js +++ b/jest.config.js @@ -6,8 +6,8 @@ module.exports = Object.assign({}, config, { moduleNameMapper: { '@polkadot/api-contract(.*)$': '/packages/api-contract/src/$1', '@polkadot/api-derive(.*)$': '/packages/api-derive/src/$1', - '@polkadot/api-metadata(.*)$': '/packages/api-metadata/src/$1', '@polkadot/api(.*)$': '/packages/api/src/$1', + '@polkadot/metadata(.*)$': '/packages/metadata/src/$1', '@polkadot/rpc-(core|provider)(.*)$': '/packages/rpc-$1/src/$2', '@polkadot/jsonrpc(.*)$': '/packages/type-jsonrpc/src/$1', '@polkadot/types(.*)$': '/packages/types/src/$1' @@ -16,7 +16,7 @@ module.exports = Object.assign({}, config, { '/packages/api/build', '/packages/api-derive/build', '/packages/api-contract/build', - '/packages/api-metadata/build', + '/packages/metadata/build', '/packages/rpc-core/build', '/packages/rpc-provider/build', '/packages/type-jsonrpc/build', diff --git a/packages/api-metadata/README.md b/packages/api-metadata/README.md deleted file mode 100644 index 7391c59d3c..0000000000 --- a/packages/api-metadata/README.md +++ /dev/null @@ -1 +0,0 @@ -# @polkadot/api-metadata \ No newline at end of file diff --git a/packages/api-metadata/src/consts/README.md b/packages/api-metadata/src/consts/README.md deleted file mode 100644 index b326749a66..0000000000 --- a/packages/api-metadata/src/consts/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @polkadot/api-metadata/consts - -A base interface to the parameter types \ No newline at end of file diff --git a/packages/api-metadata/src/consts/static.ts b/packages/api-metadata/src/consts/static.ts deleted file mode 100644 index 549fde5824..0000000000 --- a/packages/api-metadata/src/consts/static.ts +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors -// This software may be modified and distributed under the terms -// of the Apache-2.0 license. See the LICENSE file for details. - -import { Metadata } from '@polkadot/types'; -import metadataRpc from '@polkadot/types/Metadata/static'; - -import fromMetadata from './fromMetadata'; - -export default fromMetadata( - new Metadata(metadataRpc) -); diff --git a/packages/api-metadata/src/extrinsics/README.md b/packages/api-metadata/src/extrinsics/README.md deleted file mode 100644 index 410c719296..0000000000 --- a/packages/api-metadata/src/extrinsics/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @polkadot/api-metadata/extrinsics - -Base extrinsic definitions & codecs \ No newline at end of file diff --git a/packages/api-metadata/src/extrinsics/static.ts b/packages/api-metadata/src/extrinsics/static.ts deleted file mode 100644 index 708d422b04..0000000000 --- a/packages/api-metadata/src/extrinsics/static.ts +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors -// This software may be modified and distributed under the terms -// of the Apache-2.0 license. See the LICENSE file for details. - -import { ModulesWithCalls } from '@polkadot/types/types'; - -import Metadata from '@polkadot/types/Metadata'; -import metadataRpc from '@polkadot/types/Metadata/static'; - -import fromMetadata from './fromMetadata'; - -const staticMetadata: ModulesWithCalls = fromMetadata( - new Metadata(metadataRpc) -); -export default staticMetadata; diff --git a/packages/api-metadata/src/storage/README.md b/packages/api-metadata/src/storage/README.md deleted file mode 100644 index 5234c07ecd..0000000000 --- a/packages/api-metadata/src/storage/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @polkadot/api-metadata/storage - -A base interface to the storage layer \ No newline at end of file diff --git a/packages/api-metadata/src/storage/static.ts b/packages/api-metadata/src/storage/static.ts deleted file mode 100644 index 549fde5824..0000000000 --- a/packages/api-metadata/src/storage/static.ts +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors -// This software may be modified and distributed under the terms -// of the Apache-2.0 license. See the LICENSE file for details. - -import { Metadata } from '@polkadot/types'; -import metadataRpc from '@polkadot/types/Metadata/static'; - -import fromMetadata from './fromMetadata'; - -export default fromMetadata( - new Metadata(metadataRpc) -); diff --git a/packages/api-metadata/src/storage/types.ts b/packages/api-metadata/src/storage/types.ts deleted file mode 100644 index 8816308f58..0000000000 --- a/packages/api-metadata/src/storage/types.ts +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors -// This software may be modified and distributed under the terms -// of the Apache-2.0 license. See the LICENSE file for details. - -import { StorageEntry } from '@polkadot/types/primitive/StorageKey'; - -export interface ModuleStorage { - [key: string]: StorageEntry; -} - -export interface Storage { - [key: string]: ModuleStorage; // Will hold modules returned by state_getMetadata - substrate: { [key: string]: StorageEntry }; -} diff --git a/packages/api/package.json b/packages/api/package.json index d588fae3c6..f3e8856f4d 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -28,7 +28,7 @@ "dependencies": { "@babel/runtime": "^7.7.1", "@polkadot/api-derive": "^0.97.0-beta.2", - "@polkadot/api-metadata": "^0.97.0-beta.2", + "@polkadot/metadata": "^0.97.0-beta.2", "@polkadot/keyring": "^1.7.0-beta.6", "@polkadot/rpc-core": "^0.97.0-beta.2", "@polkadot/rpc-provider": "^0.97.0-beta.2", diff --git a/packages/api/src/base/Decorate.ts b/packages/api/src/base/Decorate.ts index 9426386d0a..33d5e5a5f8 100644 --- a/packages/api/src/base/Decorate.ts +++ b/packages/api/src/base/Decorate.ts @@ -2,6 +2,7 @@ // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. +import { Constants, Storage } from '@polkadot/metadata/Decorated/types'; import { RpcInterface } from '@polkadot/rpc-core/jsonrpc.types'; import { Call, Hash, RuntimeVersion } from '@polkadot/types/interfaces'; import { AnyFunction, CallFunction, Codec, CodecArg as Arg, ModulesWithCalls } from '@polkadot/types/types'; @@ -17,8 +18,6 @@ import BN from 'bn.js'; import { BehaviorSubject, Observable } from 'rxjs'; import { map, switchMap } from 'rxjs/operators'; import decorateDerive, { ExactDerive } from '@polkadot/api-derive'; -import { Constants } from '@polkadot/api-metadata/consts/types'; -import { Storage } from '@polkadot/api-metadata/storage/types'; import RpcCore from '@polkadot/rpc-core'; import { WsProvider } from '@polkadot/rpc-provider'; import { Metadata, Null, u64 } from '@polkadot/types'; @@ -164,7 +163,7 @@ export default abstract class Decorate extends Events this.filterRpcMethods(methods); } - protected filterRpcMethods (methods: string[]): void{ + protected filterRpcMethods (methods: string[]): void { // this is true when the RPC has entries const hasResults = methods.length !== 0; diff --git a/packages/api/src/base/Init.ts b/packages/api/src/base/Init.ts index bf65db7bdc..cc6430fd0a 100644 --- a/packages/api/src/base/Init.ts +++ b/packages/api/src/base/Init.ts @@ -6,9 +6,7 @@ import { SignedBlock } from '@polkadot/types/interfaces'; import { RegistryTypes } from '@polkadot/types/types'; import { ApiBase, ApiOptions, ApiTypes, DecorateMethod } from '../types'; -import constantsFromMeta from '@polkadot/api-metadata/consts/fromMetadata'; -import extrinsicsFromMeta from '@polkadot/api-metadata/extrinsics/fromMetadata'; -import storageFromMeta from '@polkadot/api-metadata/storage/fromMetadata'; +import DecoratedMeta from '@polkadot/metadata'; import { GenericCall, GenericEvent, Metadata, u32 as U32 } from '@polkadot/types'; import { LATEST_EXTRINSIC_VERSION } from '@polkadot/types/primitive/Extrinsic/Extrinsic'; import { logger } from '@polkadot/util'; @@ -167,9 +165,7 @@ export default abstract class Init extends Decorate extends Decorate { rpc.state .subscribeStorage<[BlockNumber, Index]>([ - [storage.system.accountNonce, randomAccount], - [storage.session.currentIndex] + [metadata.query.system.accountNonce, randomAccount], + [metadata.query.session.currentIndex] ]) .subscribe((data): void => { expect(data).toHaveLength(2); diff --git a/packages/api/test/e2e/rpc-core/state.spec.ts b/packages/api/test/e2e/rpc-core/state.spec.ts index bbbaa57154..a392d2f6b0 100644 --- a/packages/api/test/e2e/rpc-core/state.spec.ts +++ b/packages/api/test/e2e/rpc-core/state.spec.ts @@ -4,7 +4,8 @@ import { Balance, Moment, RuntimeVersion } from '@polkadot/types/interfaces'; -import storage from '@polkadot/api-metadata/storage/static'; +import DecorateMeta from '@polkadot/metadata'; +import rpcMetadata from '@polkadot/metadata/Metadata/static'; import Rpc from '@polkadot/rpc-core'; import WsProvider from '@polkadot/rpc-provider/ws'; import { Bytes, ClassOf, Metadata, StorageKey } from '@polkadot/types'; @@ -13,6 +14,7 @@ import { describeE2E } from '../../util'; const BOB_STASH = '5HpG9w8EBLe5XCrbczpwq5TSXvedjrBGCwqxK1iQ7qUsSWFc'; const CODE = '0x3a636f6465'; // :code +const metadata = new DecorateMeta(rpcMetadata); describeE2E({ except: [ @@ -59,7 +61,7 @@ describeE2E({ it('retrieves code', (done): void => { rpc.state .getStorage([ - storage.substrate.code + metadata.query.substrate.code ]) .subscribe((code: Bytes): void => { expect(code).toBeDefined(); @@ -71,7 +73,7 @@ describeE2E({ it('retrieves balances', (done): void => { rpc.state .getStorage([ - storage.balances.freeBalance, BOB_STASH + metadata.query.balances.freeBalance, BOB_STASH ]) .subscribe((balance): void => { expect(balance.isZero()).not.toEqual(true); @@ -82,7 +84,7 @@ describeE2E({ it('retrieves timestamp', (done): void => { rpc.state .getStorage([ - storage.timestamp.now + metadata.query.timestamp.now ]) .subscribe((moment: Moment): void => { expect(moment.toNumber()).not.toEqual(0); diff --git a/packages/api/test/e2e/rpc-core/subscribe.spec.ts b/packages/api/test/e2e/rpc-core/subscribe.spec.ts index b585f4f2a3..5a88420b08 100644 --- a/packages/api/test/e2e/rpc-core/subscribe.spec.ts +++ b/packages/api/test/e2e/rpc-core/subscribe.spec.ts @@ -2,15 +2,18 @@ // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. +import Metadata from '@polkadot/metadata'; +import rpcMetadata from '@polkadot/metadata/Metadata/static'; import testingPairs from '@polkadot/keyring/testingPairs'; import WsProvider from '@polkadot/rpc-provider/ws'; -import storage from '@polkadot/api-metadata/storage/static'; import Rpc from '@polkadot/rpc-core'; import { Index, Moment, SessionIndex } from '@polkadot/types/interfaces'; import { ClassOf } from '@polkadot/types'; import { describeE2E } from '../../util'; +const metadata = new Metadata(rpcMetadata); + describeE2E({ except: [ 'remote-polkadot-alexander', @@ -28,8 +31,8 @@ describeE2E({ it('subscribes to storage', (done): void => { rpc.state .subscribeStorage<[Index, SessionIndex]>([ - [storage.system.accountNonce, keyring.eve.address], - [storage.session.currentIndex] + [metadata.query.system.accountNonce, keyring.eve.address], + [metadata.query.session.currentIndex] ]) .subscribe((data): void => { expect(data).toHaveLength(2); @@ -48,7 +51,7 @@ describeE2E({ let count = 0; rpc.state - .subscribeStorage([[storage.timestamp.now]]) + .subscribeStorage([[metadata.query.timestamp.now]]) .subscribe((data): void => { expect(data).toBeDefined(); diff --git a/packages/api-metadata/LICENSE b/packages/metadata/LICENSE similarity index 100% rename from packages/api-metadata/LICENSE rename to packages/metadata/LICENSE diff --git a/packages/metadata/README.md b/packages/metadata/README.md new file mode 100644 index 0000000000..7ca2411342 --- /dev/null +++ b/packages/metadata/README.md @@ -0,0 +1 @@ +# @polkadot/metadata diff --git a/packages/api-metadata/package.json b/packages/metadata/package.json similarity index 96% rename from packages/api-metadata/package.json rename to packages/metadata/package.json index 848fb0134c..ae01e7078d 100644 --- a/packages/api-metadata/package.json +++ b/packages/metadata/package.json @@ -1,5 +1,5 @@ { - "name": "@polkadot/api-metadata", + "name": "@polkadot/metadata", "version": "0.97.0-beta.2", "description": "Helpers to extract information from runtime metadata", "main": "index.js", diff --git a/packages/metadata/src/Decorated/Decorated.spec.ts b/packages/metadata/src/Decorated/Decorated.spec.ts new file mode 100644 index 0000000000..194e715e5e --- /dev/null +++ b/packages/metadata/src/Decorated/Decorated.spec.ts @@ -0,0 +1,49 @@ +// Copyright 2017-2019 @polkadot/metadata authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import '@polkadot/types/injector'; + +import { ClassOf, createType } from '@polkadot/types/codec/create'; + +import Decorated from './Decorated'; +import json from '../Metadata/static'; + +const decorated = new Decorated(json); + +describe('Decorated', () => { + it('should correctly get Alice\'s freeBalance storage key (u8a)', (): void => { + expect( + decorated.query + .balances + .freeBalance('5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY') + ).toEqual( + // length prefix attached + Uint8Array.from([ + 128, 127, 134, 78, 24, 227, 221, 139, 88, 56, 99, 16, 210, 254, 9, 25, 238, 242, 124, 110, 85, 133, 100, 183, 246, 127, 34, 217, 157, 32, 245, 135, 187 + ]) + ); + }); + + it('should return properly-encoded transactions', (): void => { + expect( + createType('Extrinsic', decorated.tx.timestamp.set([10101])).toU8a() + ).toEqual( + new Uint8Array([ + // length (encoded) + 4 << 2, + // version, no signature + 1, + // index + 3, 0, + // values, Compact + 116 + ]) + ); + }); + + it('should return constants with the correct type and value', (): void => { + expect(decorated.consts.democracy.cooloffPeriod).toBeInstanceOf(ClassOf('BlockNumber')); + expect(decorated.consts.democracy.cooloffPeriod.toHex()).toEqual('0x000c4e00'); + }); +}); diff --git a/packages/metadata/src/Decorated/Decorated.ts b/packages/metadata/src/Decorated/Decorated.ts new file mode 100644 index 0000000000..3c546b39fe --- /dev/null +++ b/packages/metadata/src/Decorated/Decorated.ts @@ -0,0 +1,33 @@ +// Copyright 2017-2019 @polkadot/metadata authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import { ModulesWithCalls } from '@polkadot/types/types'; +import { Constants, Storage } from './types'; + +import Metadata from '../Metadata'; +import constantsFromMeta from './consts/fromMetadata'; +import extrinsicsFromMeta from './extrinsics/fromMetadata'; +import storageFromMeta from './storage/fromMetadata'; + +/** + * This class represents a decorated wrapper over the [[Metadata]]. The + * [[Metadata]] type is a Codec type returned by the node, and `Decorated` + * composes it and populates the `.query`, `.tx` and `.consts` sections. + */ +export default class Decorated { + public readonly consts: Constants; + + public readonly metadata: Metadata; + + public readonly query: Storage; + + public readonly tx: ModulesWithCalls; + + constructor (value?: Uint8Array | string | Metadata) { + this.metadata = value instanceof Metadata ? value : new Metadata(value); + this.tx = extrinsicsFromMeta(this.metadata); + this.query = storageFromMeta(this.metadata); + this.consts = constantsFromMeta(this.metadata); + } +} diff --git a/packages/metadata/src/Decorated/consts/README.md b/packages/metadata/src/Decorated/consts/README.md new file mode 100644 index 0000000000..0b68af65d0 --- /dev/null +++ b/packages/metadata/src/Decorated/consts/README.md @@ -0,0 +1,3 @@ +# @polkadot/metadata/consts + +A base interface to the parameter types diff --git a/packages/api-metadata/src/consts/fromMetadata/fromMetadata.spec.ts b/packages/metadata/src/Decorated/consts/fromMetadata/fromMetadata.spec.ts similarity index 79% rename from packages/api-metadata/src/consts/fromMetadata/fromMetadata.spec.ts rename to packages/metadata/src/Decorated/consts/fromMetadata/fromMetadata.spec.ts index 77ad8cd29a..3649cdab76 100644 --- a/packages/api-metadata/src/consts/fromMetadata/fromMetadata.spec.ts +++ b/packages/metadata/src/Decorated/consts/fromMetadata/fromMetadata.spec.ts @@ -1,16 +1,16 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. import '@polkadot/types/injector'; import { ClassOf, Metadata } from '@polkadot/types'; -import json from '@polkadot/types/Metadata/static'; +import rpcMetadata from '../../../Metadata/static'; import fromMetadata from '../fromMetadata'; // Use the pre-generated metadata -const metadata = new Metadata(json); +const metadata = new Metadata(rpcMetadata); const consts = fromMetadata(metadata); describe('fromMetadata', (): void => { diff --git a/packages/api-metadata/src/consts/fromMetadata/index.ts b/packages/metadata/src/Decorated/consts/fromMetadata/index.ts similarity index 88% rename from packages/api-metadata/src/consts/fromMetadata/index.ts rename to packages/metadata/src/Decorated/consts/fromMetadata/index.ts index bf99a73431..3cee38299e 100644 --- a/packages/api-metadata/src/consts/fromMetadata/index.ts +++ b/packages/metadata/src/Decorated/consts/fromMetadata/index.ts @@ -1,13 +1,14 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { Constants, ConstantCodec, ModuleConstants } from '../types'; +import { Constants, ConstantCodec, ModuleConstants } from '../../types'; import { createTypeUnsafe } from '@polkadot/types/codec'; -import Metadata from '@polkadot/types/Metadata'; import { stringCamelCase } from '@polkadot/util'; +import Metadata from '../../../Metadata'; + /** * Retrieve the parameter types (module constants) from the runtime metadata. * diff --git a/packages/metadata/src/Decorated/extrinsics/README.md b/packages/metadata/src/Decorated/extrinsics/README.md new file mode 100644 index 0000000000..ea7c044708 --- /dev/null +++ b/packages/metadata/src/Decorated/extrinsics/README.md @@ -0,0 +1,3 @@ +# @polkadot/metadata/extrinsics + +Base extrinsic definitions & codecs diff --git a/packages/api-metadata/src/extrinsics/fromMetadata/createUnchecked.ts b/packages/metadata/src/Decorated/extrinsics/fromMetadata/createUnchecked.ts similarity index 95% rename from packages/api-metadata/src/extrinsics/fromMetadata/createUnchecked.ts rename to packages/metadata/src/Decorated/extrinsics/fromMetadata/createUnchecked.ts index 78dbfc096a..7d0625fe0f 100644 --- a/packages/api-metadata/src/extrinsics/fromMetadata/createUnchecked.ts +++ b/packages/metadata/src/Decorated/extrinsics/fromMetadata/createUnchecked.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/api-metadata/src/extrinsics/fromMetadata/fromMetadata.spec.ts b/packages/metadata/src/Decorated/extrinsics/fromMetadata/fromMetadata.spec.ts similarity index 90% rename from packages/api-metadata/src/extrinsics/fromMetadata/fromMetadata.spec.ts rename to packages/metadata/src/Decorated/extrinsics/fromMetadata/fromMetadata.spec.ts index 2920dea4a2..833bbada89 100644 --- a/packages/api-metadata/src/extrinsics/fromMetadata/fromMetadata.spec.ts +++ b/packages/metadata/src/Decorated/extrinsics/fromMetadata/fromMetadata.spec.ts @@ -1,12 +1,12 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. import '@polkadot/types/injector'; import { createType, Metadata } from '@polkadot/types'; -import json from '@polkadot/types/Metadata/static'; +import json from '../../../Metadata/static'; import fromMetadata from '.'; // Use the pre-generated metadata diff --git a/packages/api-metadata/src/extrinsics/fromMetadata/index.ts b/packages/metadata/src/Decorated/extrinsics/fromMetadata/index.ts similarity index 85% rename from packages/api-metadata/src/extrinsics/fromMetadata/index.ts rename to packages/metadata/src/Decorated/extrinsics/fromMetadata/index.ts index e4d288719c..13ae839e86 100644 --- a/packages/api-metadata/src/extrinsics/fromMetadata/index.ts +++ b/packages/metadata/src/Decorated/extrinsics/fromMetadata/index.ts @@ -1,13 +1,13 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. import { Calls, ModulesWithCalls } from '@polkadot/types/types'; -import { ModuleMetadataV8 } from '@polkadot/types/Metadata/v8/Metadata'; -import Metadata from '@polkadot/types/Metadata'; import { stringCamelCase } from '@polkadot/util'; +import { ModuleMetadataV8 } from '../../../Metadata/v8/Metadata'; +import Metadata from '../../../Metadata'; import extrinsics from '../'; import createUnchecked from './createUnchecked'; diff --git a/packages/api-metadata/src/extrinsics/index.spec.ts b/packages/metadata/src/Decorated/extrinsics/index.spec.ts similarity index 93% rename from packages/api-metadata/src/extrinsics/index.spec.ts rename to packages/metadata/src/Decorated/extrinsics/index.spec.ts index 70f179aa33..ae25d267f8 100644 --- a/packages/api-metadata/src/extrinsics/index.spec.ts +++ b/packages/metadata/src/Decorated/extrinsics/index.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. @@ -9,8 +9,8 @@ import '@polkadot/types/injector'; import BN from 'bn.js'; import testingPairs from '@polkadot/keyring/testingPairs'; import { createType, Metadata } from '@polkadot/types'; -import metadataStatic from '@polkadot/types/Metadata/static'; +import metadataStatic from '../../Metadata/static'; import fromMetadata from './fromMetadata'; const keyring = testingPairs({ type: 'ed25519' }, false); diff --git a/packages/api-metadata/src/extrinsics/index.ts b/packages/metadata/src/Decorated/extrinsics/index.ts similarity index 78% rename from packages/api-metadata/src/extrinsics/index.ts rename to packages/metadata/src/Decorated/extrinsics/index.ts index afe33a06ff..0d77dada4c 100644 --- a/packages/api-metadata/src/extrinsics/index.ts +++ b/packages/metadata/src/Decorated/extrinsics/index.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/metadata/src/Decorated/index.ts b/packages/metadata/src/Decorated/index.ts new file mode 100644 index 0000000000..06288b02d1 --- /dev/null +++ b/packages/metadata/src/Decorated/index.ts @@ -0,0 +1,7 @@ +// Copyright 2017-2019 @polkadot/metadata authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import Decorated from './Decorated'; + +export default Decorated; diff --git a/packages/metadata/src/Decorated/storage/README.md b/packages/metadata/src/Decorated/storage/README.md new file mode 100644 index 0000000000..d9df68aacf --- /dev/null +++ b/packages/metadata/src/Decorated/storage/README.md @@ -0,0 +1,3 @@ +# @polkadot/metadata/storage + +A base interface to the storage layer diff --git a/packages/api-metadata/src/storage/fromMetadata/createFunction.spec.ts b/packages/metadata/src/Decorated/storage/fromMetadata/createFunction.spec.ts similarity index 98% rename from packages/api-metadata/src/storage/fromMetadata/createFunction.spec.ts rename to packages/metadata/src/Decorated/storage/fromMetadata/createFunction.spec.ts index 2bdbe26e6f..539fa40fb4 100644 --- a/packages/api-metadata/src/storage/fromMetadata/createFunction.spec.ts +++ b/packages/metadata/src/Decorated/storage/fromMetadata/createFunction.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/api-metadata/src/storage/fromMetadata/createFunction.ts b/packages/metadata/src/Decorated/storage/fromMetadata/createFunction.ts similarity index 97% rename from packages/api-metadata/src/storage/fromMetadata/createFunction.ts rename to packages/metadata/src/Decorated/storage/fromMetadata/createFunction.ts index 1cda0c2f1b..79cad1917e 100644 --- a/packages/api-metadata/src/storage/fromMetadata/createFunction.ts +++ b/packages/metadata/src/Decorated/storage/fromMetadata/createFunction.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. @@ -6,10 +6,10 @@ import { Codec } from '@polkadot/types/types'; import BN from 'bn.js'; import { Compact, U8a, createType, createTypeUnsafe } from '@polkadot/types/codec'; -import { StorageEntryMetadata, StorageEntryType } from '@polkadot/types/Metadata/v8/Storage'; import { StorageEntry } from '@polkadot/types/primitive/StorageKey'; import { assert, isNull, isUndefined, stringLowerFirst, stringToU8a, u8aConcat } from '@polkadot/util'; +import { StorageEntryMetadata, StorageEntryType } from '../../../Metadata/v8/Storage'; import getHasher, { HasherFunction } from './getHasher'; export interface CreateItemOptions { diff --git a/packages/api-metadata/src/storage/fromMetadata/fromMetadata.spec.ts b/packages/metadata/src/Decorated/storage/fromMetadata/fromMetadata.spec.ts similarity index 63% rename from packages/api-metadata/src/storage/fromMetadata/fromMetadata.spec.ts rename to packages/metadata/src/Decorated/storage/fromMetadata/fromMetadata.spec.ts index 1d75af24d1..18dc2fc906 100644 --- a/packages/api-metadata/src/storage/fromMetadata/fromMetadata.spec.ts +++ b/packages/metadata/src/Decorated/storage/fromMetadata/fromMetadata.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. @@ -7,23 +7,25 @@ import '@polkadot/types/injector'; import testingPairs from '@polkadot/keyring/testingPairs'; import { u8aToHex } from '@polkadot/util'; -import storage from '../static'; +import rpcMetadata from '../../../Metadata/static'; +import Decorated from '../../Decorated'; const keyring = testingPairs({ type: 'ed25519' }); +const decorated = new Decorated(rpcMetadata); describe('fromMetadata', (): void => { it('should throw if the storage function expects an argument', (): void => { - expect((): any => storage.balances.freeBalance()).toThrowError(/requires one argument/); + expect((): any => decorated.query.balances.freeBalance()).toThrowError(/requires one argument/); }); it('should return a value if the storage function does not expect an argument', (): void => { - expect((): any => storage.timestamp.now()).not.toThrow(); + expect((): any => decorated.query.timestamp.now()).not.toThrow(); }); it('should return the correct length-prefixed storage key', (): void => { expect( u8aToHex( - storage.balances.freeBalance(keyring.alice.address) + decorated.query.balances.freeBalance(keyring.alice.address) ) ).toEqual( '0x807f864e18e3dd8b58386310d2fe0919eef27c6e558564b7f67f22d99d20f587bb' diff --git a/packages/api-metadata/src/storage/fromMetadata/getHasher.spec.ts b/packages/metadata/src/Decorated/storage/fromMetadata/getHasher.spec.ts similarity index 91% rename from packages/api-metadata/src/storage/fromMetadata/getHasher.spec.ts rename to packages/metadata/src/Decorated/storage/fromMetadata/getHasher.spec.ts index d6232095b7..be0c858b69 100644 --- a/packages/api-metadata/src/storage/fromMetadata/getHasher.spec.ts +++ b/packages/metadata/src/Decorated/storage/fromMetadata/getHasher.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/api-metadata/src/storage/fromMetadata/getHasher.ts b/packages/metadata/src/Decorated/storage/fromMetadata/getHasher.ts similarity index 94% rename from packages/api-metadata/src/storage/fromMetadata/getHasher.ts rename to packages/metadata/src/Decorated/storage/fromMetadata/getHasher.ts index 10158d2216..f82c9cf52c 100644 --- a/packages/api-metadata/src/storage/fromMetadata/getHasher.ts +++ b/packages/metadata/src/Decorated/storage/fromMetadata/getHasher.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/api-metadata/src/storage/fromMetadata/index.ts b/packages/metadata/src/Decorated/storage/fromMetadata/index.ts similarity index 88% rename from packages/api-metadata/src/storage/fromMetadata/index.ts rename to packages/metadata/src/Decorated/storage/fromMetadata/index.ts index 6121e75a3d..bd0d27996b 100644 --- a/packages/api-metadata/src/storage/fromMetadata/index.ts +++ b/packages/metadata/src/Decorated/storage/fromMetadata/index.ts @@ -1,12 +1,12 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { ModuleStorage, Storage } from '../types'; +import { ModuleStorage, Storage } from '../../types'; -import Metadata from '@polkadot/types/Metadata'; import { stringCamelCase, stringLowerFirst } from '@polkadot/util'; +import Metadata from '../../../Metadata'; import createFunction from './createFunction'; import { storage } from './storage'; diff --git a/packages/api-metadata/src/storage/fromMetadata/storage.spec.ts b/packages/metadata/src/Decorated/storage/fromMetadata/storage.spec.ts similarity index 93% rename from packages/api-metadata/src/storage/fromMetadata/storage.spec.ts rename to packages/metadata/src/Decorated/storage/fromMetadata/storage.spec.ts index 13ae603a0c..a3640df89e 100644 --- a/packages/api-metadata/src/storage/fromMetadata/storage.spec.ts +++ b/packages/metadata/src/Decorated/storage/fromMetadata/storage.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/api-metadata/src/storage/fromMetadata/storage.ts b/packages/metadata/src/Decorated/storage/fromMetadata/storage.ts similarity index 74% rename from packages/api-metadata/src/storage/fromMetadata/storage.ts rename to packages/metadata/src/Decorated/storage/fromMetadata/storage.ts index fbb8974f25..f97ae7104e 100644 --- a/packages/api-metadata/src/storage/fromMetadata/storage.ts +++ b/packages/metadata/src/Decorated/storage/fromMetadata/storage.ts @@ -1,8 +1,8 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { Storage } from '../types'; +import { Storage } from '../../types'; import * as substrate from './substrate'; export const storage: Storage = { diff --git a/packages/api-metadata/src/storage/fromMetadata/substrate.spec.ts b/packages/metadata/src/Decorated/storage/fromMetadata/substrate.spec.ts similarity index 96% rename from packages/api-metadata/src/storage/fromMetadata/substrate.spec.ts rename to packages/metadata/src/Decorated/storage/fromMetadata/substrate.spec.ts index 8f4bf46825..dc0edd7ec3 100644 --- a/packages/api-metadata/src/storage/fromMetadata/substrate.spec.ts +++ b/packages/metadata/src/Decorated/storage/fromMetadata/substrate.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/api-metadata/src/storage/fromMetadata/substrate.ts b/packages/metadata/src/Decorated/storage/fromMetadata/substrate.ts similarity index 93% rename from packages/api-metadata/src/storage/fromMetadata/substrate.ts rename to packages/metadata/src/Decorated/storage/fromMetadata/substrate.ts index 9fa5722062..b4dd93856e 100644 --- a/packages/api-metadata/src/storage/fromMetadata/substrate.ts +++ b/packages/metadata/src/Decorated/storage/fromMetadata/substrate.ts @@ -1,10 +1,10 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { StorageEntryMetadata, StorageEntryType } from '@polkadot/types/Metadata/v8/Storage'; import { StorageEntry } from '@polkadot/types/primitive/StorageKey'; import { createType } from '@polkadot/types/codec'; +import { StorageEntryMetadata, StorageEntryType } from '../../../Metadata/v8/Storage'; import createFunction from './createFunction'; diff --git a/packages/api-metadata/src/storage/index.ts b/packages/metadata/src/Decorated/storage/index.ts similarity index 74% rename from packages/api-metadata/src/storage/index.ts rename to packages/metadata/src/Decorated/storage/index.ts index fe2d733515..b4209a4835 100644 --- a/packages/api-metadata/src/storage/index.ts +++ b/packages/metadata/src/Decorated/storage/index.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/api-metadata/src/consts/types.ts b/packages/metadata/src/Decorated/types.ts similarity index 55% rename from packages/api-metadata/src/consts/types.ts rename to packages/metadata/src/Decorated/types.ts index f8c04d4584..9a6f5eede8 100644 --- a/packages/api-metadata/src/consts/types.ts +++ b/packages/metadata/src/Decorated/types.ts @@ -1,7 +1,8 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. +import { StorageEntry } from '@polkadot/types/primitive/StorageKey'; import { Codec } from '@polkadot/types/types'; import { ModuleConstantMetadataLatest } from '@polkadot/types/interfaces'; @@ -12,3 +13,12 @@ export interface ConstantCodec extends Codec { export type ModuleConstants = Record; export type Constants = Record; + +export interface ModuleStorage { + [key: string]: StorageEntry; +} + +export interface Storage { + [key: string]: ModuleStorage; // Will hold modules returned by state_getMetadata + substrate: { [key: string]: StorageEntry }; +} diff --git a/packages/types/src/Metadata/MagicNumber.spec.ts b/packages/metadata/src/Metadata/MagicNumber.spec.ts similarity index 88% rename from packages/types/src/Metadata/MagicNumber.spec.ts rename to packages/metadata/src/Metadata/MagicNumber.spec.ts index 30d2a13156..c3a8be8859 100644 --- a/packages/types/src/Metadata/MagicNumber.spec.ts +++ b/packages/metadata/src/Metadata/MagicNumber.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/MagicNumber.ts b/packages/metadata/src/Metadata/MagicNumber.ts similarity index 81% rename from packages/types/src/Metadata/MagicNumber.ts rename to packages/metadata/src/Metadata/MagicNumber.ts index 6565b1c032..3b746338bf 100644 --- a/packages/types/src/Metadata/MagicNumber.ts +++ b/packages/metadata/src/Metadata/MagicNumber.ts @@ -1,10 +1,10 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. import { assert } from '@polkadot/util'; -import U32 from '../primitive/U32'; +import U32 from '@polkadot/types/primitive/U32'; export const MAGIC_NUMBER = new U32(0x6174656d); // `meta`, reversed for Little Endian encoding diff --git a/packages/types/src/Metadata/Metadata.ts b/packages/metadata/src/Metadata/Metadata.ts similarity index 95% rename from packages/types/src/Metadata/Metadata.ts rename to packages/metadata/src/Metadata/Metadata.ts index 560db9794d..5b3693f3ea 100644 --- a/packages/types/src/Metadata/Metadata.ts +++ b/packages/metadata/src/Metadata/Metadata.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/MetadataVersioned.ts b/packages/metadata/src/Metadata/MetadataVersioned.ts similarity index 95% rename from packages/types/src/Metadata/MetadataVersioned.ts rename to packages/metadata/src/Metadata/MetadataVersioned.ts index 4d1b4c65ff..53b677385d 100644 --- a/packages/types/src/Metadata/MetadataVersioned.ts +++ b/packages/metadata/src/Metadata/MetadataVersioned.ts @@ -1,13 +1,14 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { MetadataV0, MetadataV1 } from '../interfaces/metadata'; +import { MetadataV0, MetadataV1 } from '@polkadot/types/interfaces/metadata'; import { assert } from '@polkadot/util'; -import Enum from '../codec/Enum'; -import Struct from '../codec/Struct'; +import Enum from '@polkadot/types/codec/Enum'; +import Struct from '@polkadot/types/codec/Struct'; + import MagicNumber from './MagicNumber'; import MetadataV2 from './v2'; import MetadataV3 from './v3'; @@ -218,7 +219,7 @@ export default class MetadataVersioned extends Struct { return this.version === version; } - private getVersion (version: MetaVersions, fromPrev: (input: F) => T): T { + private getVersion (version: MetaVersions, fromPrev: (input: F) => T): T { const asCurr: MetaAsX = `asV${version}` as any; const asPrev: MetaAsX = `asV${version - 1}` as any; diff --git a/packages/types/src/Metadata/README.md b/packages/metadata/src/Metadata/README.md similarity index 100% rename from packages/types/src/Metadata/README.md rename to packages/metadata/src/Metadata/README.md diff --git a/packages/types/src/Metadata/index.ts b/packages/metadata/src/Metadata/index.ts similarity index 74% rename from packages/types/src/Metadata/index.ts rename to packages/metadata/src/Metadata/index.ts index 7f470fabf4..c330a3b3da 100644 --- a/packages/types/src/Metadata/index.ts +++ b/packages/metadata/src/Metadata/index.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/static.ts b/packages/metadata/src/Metadata/static.ts similarity index 74% rename from packages/types/src/Metadata/static.ts rename to packages/metadata/src/Metadata/static.ts index 9f55cfaf7f..130e2c1b3a 100644 --- a/packages/types/src/Metadata/static.ts +++ b/packages/metadata/src/Metadata/static.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/types.ts b/packages/metadata/src/Metadata/types.ts similarity index 59% rename from packages/types/src/Metadata/types.ts rename to packages/metadata/src/Metadata/types.ts index 9f111181de..de70d5fe7f 100644 --- a/packages/types/src/Metadata/types.ts +++ b/packages/metadata/src/Metadata/types.ts @@ -1,9 +1,9 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { Vec } from '../codec'; -import { Codec } from '../types'; +import { Codec } from '@polkadot/types/types'; +import Vec from '@polkadot/types/codec/Vec'; export interface MetadataInterface extends Codec { modules: Vec; diff --git a/packages/types/src/Metadata/util/flattenUniq.ts b/packages/metadata/src/Metadata/util/flattenUniq.ts similarity index 88% rename from packages/types/src/Metadata/util/flattenUniq.ts rename to packages/metadata/src/Metadata/util/flattenUniq.ts index 527824351d..5769053cbc 100644 --- a/packages/types/src/Metadata/util/flattenUniq.ts +++ b/packages/metadata/src/Metadata/util/flattenUniq.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/util/getUniqTypes.ts b/packages/metadata/src/Metadata/util/getUniqTypes.ts similarity index 93% rename from packages/types/src/Metadata/util/getUniqTypes.ts rename to packages/metadata/src/Metadata/util/getUniqTypes.ts index 8ba3745774..0e083c98e3 100644 --- a/packages/types/src/Metadata/util/getUniqTypes.ts +++ b/packages/metadata/src/Metadata/util/getUniqTypes.ts @@ -1,11 +1,11 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { Codec } from '../../types'; +import { Codec } from '@polkadot/types/types'; -import { Option, Vec } from '../../codec'; -import { Text, Type } from '../../primitive'; +import { Option, Vec } from '@polkadot/types/codec'; +import { Text, Type } from '@polkadot/types/primitive'; import flattenUniq from './flattenUniq'; import validateTypes from './validateTypes'; diff --git a/packages/types/src/Metadata/util/index.ts b/packages/metadata/src/Metadata/util/index.ts similarity index 84% rename from packages/types/src/Metadata/util/index.ts rename to packages/metadata/src/Metadata/util/index.ts index a7ff58ee0b..e09292d465 100644 --- a/packages/types/src/Metadata/util/index.ts +++ b/packages/metadata/src/Metadata/util/index.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/util/testUtil.ts b/packages/metadata/src/Metadata/util/testUtil.ts similarity index 88% rename from packages/types/src/Metadata/util/testUtil.ts rename to packages/metadata/src/Metadata/util/testUtil.ts index d9f28aeffd..e2bf96e175 100644 --- a/packages/types/src/Metadata/util/testUtil.ts +++ b/packages/metadata/src/Metadata/util/testUtil.ts @@ -1,15 +1,17 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import '../../injector'; +import '@polkadot/types/injector'; -import { createTypeUnsafe } from '../../codec/create'; -import Metadata from '../Metadata'; -import Call from '../../primitive/Generic/Call'; +import { Codec } from '@polkadot/types/types'; import { MetadataInterface } from '../types'; -import { Codec } from '../../types'; + +import { createTypeUnsafe } from '@polkadot/types/codec/create'; +import Call from '@polkadot/types/primitive/Generic/Call'; + import getUniqTypes from './getUniqTypes'; +import Metadata from '../Metadata'; /** * Given the static `rpcData` and the `staticSubstrate` JSON file, Metadata diff --git a/packages/types/src/Metadata/util/toCallsOnly.spec.ts b/packages/metadata/src/Metadata/util/toCallsOnly.spec.ts similarity index 86% rename from packages/types/src/Metadata/util/toCallsOnly.spec.ts rename to packages/metadata/src/Metadata/util/toCallsOnly.spec.ts index 94c5fc6493..87dc3f9ace 100644 --- a/packages/types/src/Metadata/util/toCallsOnly.spec.ts +++ b/packages/metadata/src/Metadata/util/toCallsOnly.spec.ts @@ -1,8 +1,8 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import '../../injector'; +import '@polkadot/types/injector'; import staticData from '../static'; import Metadata from '..'; diff --git a/packages/types/src/Metadata/util/toCallsOnly.ts b/packages/metadata/src/Metadata/util/toCallsOnly.ts similarity index 88% rename from packages/types/src/Metadata/util/toCallsOnly.ts rename to packages/metadata/src/Metadata/util/toCallsOnly.ts index 831544c8c8..9be1639ae1 100644 --- a/packages/types/src/Metadata/util/toCallsOnly.ts +++ b/packages/metadata/src/Metadata/util/toCallsOnly.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/util/validateTypes.ts b/packages/metadata/src/Metadata/util/validateTypes.ts similarity index 85% rename from packages/types/src/Metadata/util/validateTypes.ts rename to packages/metadata/src/Metadata/util/validateTypes.ts index 25c42cda02..20abe892a1 100644 --- a/packages/types/src/Metadata/util/validateTypes.ts +++ b/packages/metadata/src/Metadata/util/validateTypes.ts @@ -1,12 +1,12 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { TypeDef, TypeDefInfo, TypeDefExtVecFixed } from '../../codec/types'; +import { TypeDef, TypeDefInfo, TypeDefExtVecFixed } from '@polkadot/types/codec/types'; + +import { getTypeDef, getTypeRegistry } from '@polkadot/types/codec/create'; -import { getTypeDef } from '../../codec/create'; import flattenUniq from './flattenUniq'; -import { getTypeRegistry } from '../../codec'; function extractTypes (types: string[]): any[] { return types.map((type): any => { diff --git a/packages/types/src/Metadata/v0/Metadata.spec.ts b/packages/metadata/src/Metadata/v0/Metadata.spec.ts similarity index 88% rename from packages/types/src/Metadata/v0/Metadata.spec.ts rename to packages/metadata/src/Metadata/v0/Metadata.spec.ts index 102f7e7070..0124db7427 100644 --- a/packages/types/src/Metadata/v0/Metadata.spec.ts +++ b/packages/metadata/src/Metadata/v0/Metadata.spec.ts @@ -1,8 +1,9 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { createType } from '../../codec'; +import { createType } from '@polkadot/types/codec'; + import Metadata from '../'; import latestSubstrateV0 from './static-substrate.json'; import rpcData from './static'; diff --git a/packages/types/src/Metadata/v0/static-polkadot.json b/packages/metadata/src/Metadata/v0/static-polkadot.json similarity index 100% rename from packages/types/src/Metadata/v0/static-polkadot.json rename to packages/metadata/src/Metadata/v0/static-polkadot.json diff --git a/packages/types/src/Metadata/v0/static-substrate.json b/packages/metadata/src/Metadata/v0/static-substrate.json similarity index 100% rename from packages/types/src/Metadata/v0/static-substrate.json rename to packages/metadata/src/Metadata/v0/static-substrate.json diff --git a/packages/types/src/Metadata/v0/static.ts b/packages/metadata/src/Metadata/v0/static.ts similarity index 99% rename from packages/types/src/Metadata/v0/static.ts rename to packages/metadata/src/Metadata/v0/static.ts index b7a7edeb78..2b9602ef42 100644 --- a/packages/types/src/Metadata/v0/static.ts +++ b/packages/metadata/src/Metadata/v0/static.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v0/toV1.ts b/packages/metadata/src/Metadata/v0/toV1.ts similarity index 88% rename from packages/types/src/Metadata/v0/toV1.ts rename to packages/metadata/src/Metadata/v0/toV1.ts index 2a9391558b..fb505e7b7d 100644 --- a/packages/types/src/Metadata/v0/toV1.ts +++ b/packages/metadata/src/Metadata/v0/toV1.ts @@ -1,14 +1,14 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { EventMetadataV1, FunctionMetadataV1, MetadataV0, MetadataV1, ModuleMetadataV1, RuntimeModuleMetadataV0, StorageFunctionMetadataV1 } from '../../interfaces/metadata'; +import { EventMetadataV1, FunctionMetadataV1, MetadataV0, MetadataV1, ModuleMetadataV1, RuntimeModuleMetadataV0, StorageFunctionMetadataV1 } from '@polkadot/types/interfaces/metadata'; import { stringUpperFirst } from '@polkadot/util'; -import { createType, Option, Vec } from '../../codec'; -import { Text } from '../../primitive'; +import { createType, Option, Vec } from '@polkadot/types/codec'; +import { Text } from '@polkadot/types/primitive'; function toV1Calls ({ module: { call: { functions } } }: RuntimeModuleMetadataV0): Option { return functions.length diff --git a/packages/types/src/Metadata/v1/Metadata.spec.ts b/packages/metadata/src/Metadata/v1/Metadata.spec.ts similarity index 87% rename from packages/types/src/Metadata/v1/Metadata.spec.ts rename to packages/metadata/src/Metadata/v1/Metadata.spec.ts index 10a9a482a5..2d4b0daa51 100644 --- a/packages/types/src/Metadata/v1/Metadata.spec.ts +++ b/packages/metadata/src/Metadata/v1/Metadata.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v1/static-substrate.json b/packages/metadata/src/Metadata/v1/static-substrate.json similarity index 100% rename from packages/types/src/Metadata/v1/static-substrate.json rename to packages/metadata/src/Metadata/v1/static-substrate.json diff --git a/packages/types/src/Metadata/v1/static.ts b/packages/metadata/src/Metadata/v1/static.ts similarity index 99% rename from packages/types/src/Metadata/v1/static.ts rename to packages/metadata/src/Metadata/v1/static.ts index 5e512471b2..09ca28edb3 100644 --- a/packages/types/src/Metadata/v1/static.ts +++ b/packages/metadata/src/Metadata/v1/static.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v1/toV2.ts b/packages/metadata/src/Metadata/v1/toV2.ts similarity index 67% rename from packages/types/src/Metadata/v1/toV2.ts rename to packages/metadata/src/Metadata/v1/toV2.ts index 8ad647b501..ef75f5198d 100644 --- a/packages/types/src/Metadata/v1/toV2.ts +++ b/packages/metadata/src/Metadata/v1/toV2.ts @@ -1,8 +1,8 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { MetadataV1 } from '../../interfaces/metadata'; +import { MetadataV1 } from '@polkadot/types/interfaces/metadata'; import MetadataV2 from '../v2'; diff --git a/packages/types/src/Metadata/v2/Metadata.spec.ts b/packages/metadata/src/Metadata/v2/Metadata.spec.ts similarity index 87% rename from packages/types/src/Metadata/v2/Metadata.spec.ts rename to packages/metadata/src/Metadata/v2/Metadata.spec.ts index 461b431630..d947bdcd1c 100644 --- a/packages/types/src/Metadata/v2/Metadata.spec.ts +++ b/packages/metadata/src/Metadata/v2/Metadata.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v2/Metadata.ts b/packages/metadata/src/Metadata/v2/Metadata.ts similarity index 84% rename from packages/types/src/Metadata/v2/Metadata.ts rename to packages/metadata/src/Metadata/v2/Metadata.ts index 80b9810743..a1096e37a0 100644 --- a/packages/types/src/Metadata/v2/Metadata.ts +++ b/packages/metadata/src/Metadata/v2/Metadata.ts @@ -1,14 +1,14 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { EventMetadataV2, FunctionMetadataV2 } from '../../interfaces/metadata'; +import { EventMetadataV2, FunctionMetadataV2 } from '@polkadot/types/interfaces/metadata'; import { MetadataInterface } from '../types'; -import Option from '../../codec/Option'; -import Struct from '../../codec/Struct'; -import Vec from '../../codec/Vec'; -import Text from '../../primitive/Text'; +import Option from '@polkadot/types/codec/Option'; +import Struct from '@polkadot/types/codec/Struct'; +import Vec from '@polkadot/types/codec/Vec'; +import Text from '@polkadot/types/primitive/Text'; import { StorageFunctionMetadata } from './Storage'; diff --git a/packages/types/src/Metadata/v2/Storage.ts b/packages/metadata/src/Metadata/v2/Storage.ts similarity index 87% rename from packages/types/src/Metadata/v2/Storage.ts rename to packages/metadata/src/Metadata/v2/Storage.ts index 87ecca6e5c..6ee8a76c20 100644 --- a/packages/types/src/Metadata/v2/Storage.ts +++ b/packages/metadata/src/Metadata/v2/Storage.ts @@ -1,17 +1,17 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { MapTypeV2, PlainTypeV2, StorageFunctionModifierV2 } from '../../interfaces/metadata'; -import { AnyNumber } from '../../types'; +import { MapTypeV2, PlainTypeV2, StorageFunctionModifierV2 } from '@polkadot/types/interfaces/metadata'; +import { AnyNumber } from '@polkadot/types/types'; import { assert } from '@polkadot/util'; -import Enum from '../../codec/Enum'; -import Struct from '../../codec/Struct'; -import Vec from '../../codec/Vec'; -import Bytes from '../../primitive/Bytes'; -import Text from '../../primitive/Text'; +import Enum from '@polkadot/types/codec/Enum'; +import Struct from '@polkadot/types/codec/Struct'; +import Vec from '@polkadot/types/codec/Vec'; +import Bytes from '@polkadot/types/primitive/Bytes'; +import Text from '@polkadot/types/primitive/Text'; export class StorageFunctionType extends Enum { constructor (value?: any, index?: number) { diff --git a/packages/types/src/Metadata/v2/index.ts b/packages/metadata/src/Metadata/v2/index.ts similarity index 79% rename from packages/types/src/Metadata/v2/index.ts rename to packages/metadata/src/Metadata/v2/index.ts index a3da6a9aec..fe6c567027 100644 --- a/packages/types/src/Metadata/v2/index.ts +++ b/packages/metadata/src/Metadata/v2/index.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v2/static-substrate.json b/packages/metadata/src/Metadata/v2/static-substrate.json similarity index 100% rename from packages/types/src/Metadata/v2/static-substrate.json rename to packages/metadata/src/Metadata/v2/static-substrate.json diff --git a/packages/types/src/Metadata/v2/static.ts b/packages/metadata/src/Metadata/v2/static.ts similarity index 99% rename from packages/types/src/Metadata/v2/static.ts rename to packages/metadata/src/Metadata/v2/static.ts index b03b5fcf09..17fcf985dc 100644 --- a/packages/types/src/Metadata/v2/static.ts +++ b/packages/metadata/src/Metadata/v2/static.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v2/toV3.ts b/packages/metadata/src/Metadata/v2/toV3.ts similarity index 82% rename from packages/types/src/Metadata/v2/toV3.ts rename to packages/metadata/src/Metadata/v2/toV3.ts index 000b59ece5..03ae40e943 100644 --- a/packages/types/src/Metadata/v2/toV3.ts +++ b/packages/metadata/src/Metadata/v2/toV3.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v3/Metadata.spec.ts b/packages/metadata/src/Metadata/v3/Metadata.spec.ts similarity index 87% rename from packages/types/src/Metadata/v3/Metadata.spec.ts rename to packages/metadata/src/Metadata/v3/Metadata.spec.ts index aa9c059960..d157936bb1 100644 --- a/packages/types/src/Metadata/v3/Metadata.spec.ts +++ b/packages/metadata/src/Metadata/v3/Metadata.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v3/Metadata.ts b/packages/metadata/src/Metadata/v3/Metadata.ts similarity index 84% rename from packages/types/src/Metadata/v3/Metadata.ts rename to packages/metadata/src/Metadata/v3/Metadata.ts index 799fb26a92..e7971efe09 100644 --- a/packages/types/src/Metadata/v3/Metadata.ts +++ b/packages/metadata/src/Metadata/v3/Metadata.ts @@ -1,14 +1,14 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { EventMetadataV3, FunctionMetadataV3 } from '../../interfaces/metadata'; +import { EventMetadataV3, FunctionMetadataV3 } from '@polkadot/types/interfaces/metadata'; import { MetadataInterface } from '../types'; -import Option from '../../codec/Option'; -import Struct from '../../codec/Struct'; -import Vec from '../../codec/Vec'; -import Text from '../../primitive/Text'; +import Option from '@polkadot/types/codec/Option'; +import Struct from '@polkadot/types/codec/Struct'; +import Vec from '@polkadot/types/codec/Vec'; +import Text from '@polkadot/types/primitive/Text'; import { StorageFunctionMetadata } from './Storage'; diff --git a/packages/types/src/Metadata/v3/Storage.ts b/packages/metadata/src/Metadata/v3/Storage.ts similarity index 88% rename from packages/types/src/Metadata/v3/Storage.ts rename to packages/metadata/src/Metadata/v3/Storage.ts index 93bfde11e4..4917734d64 100644 --- a/packages/types/src/Metadata/v3/Storage.ts +++ b/packages/metadata/src/Metadata/v3/Storage.ts @@ -1,17 +1,17 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { DoubleMapTypeV3, MapTypeV3, PlainTypeV3, StorageFunctionModifierV3 } from '../../interfaces/metadata'; -import { AnyNumber } from '../../types'; +import { DoubleMapTypeV3, MapTypeV3, PlainTypeV3, StorageFunctionModifierV3 } from '@polkadot/types/interfaces/metadata'; +import { AnyNumber } from '@polkadot/types/types'; import { assert } from '@polkadot/util'; -import Enum from '../../codec/Enum'; -import Struct from '../../codec/Struct'; -import Vec from '../../codec/Vec'; -import Bytes from '../../primitive/Bytes'; -import Text from '../../primitive/Text'; +import Enum from '@polkadot/types/codec/Enum'; +import Struct from '@polkadot/types/codec/Struct'; +import Vec from '@polkadot/types/codec/Vec'; +import Bytes from '@polkadot/types/primitive/Bytes'; +import Text from '@polkadot/types/primitive/Text'; export class StorageFunctionType extends Enum { constructor (value?: any, index?: number) { diff --git a/packages/types/src/Metadata/v3/index.ts b/packages/metadata/src/Metadata/v3/index.ts similarity index 79% rename from packages/types/src/Metadata/v3/index.ts rename to packages/metadata/src/Metadata/v3/index.ts index 205979abe1..60a889cbf9 100644 --- a/packages/types/src/Metadata/v3/index.ts +++ b/packages/metadata/src/Metadata/v3/index.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v3/static-substrate.json b/packages/metadata/src/Metadata/v3/static-substrate.json similarity index 100% rename from packages/types/src/Metadata/v3/static-substrate.json rename to packages/metadata/src/Metadata/v3/static-substrate.json diff --git a/packages/types/src/Metadata/v3/static.ts b/packages/metadata/src/Metadata/v3/static.ts similarity index 99% rename from packages/types/src/Metadata/v3/static.ts rename to packages/metadata/src/Metadata/v3/static.ts index ff0c466f40..6aca5d9d79 100644 --- a/packages/types/src/Metadata/v3/static.ts +++ b/packages/metadata/src/Metadata/v3/static.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v3/toV4.ts b/packages/metadata/src/Metadata/v3/toV4.ts similarity index 91% rename from packages/types/src/Metadata/v3/toV4.ts rename to packages/metadata/src/Metadata/v3/toV4.ts index 03f57386d2..ba2b68718b 100644 --- a/packages/types/src/Metadata/v3/toV4.ts +++ b/packages/metadata/src/Metadata/v3/toV4.ts @@ -1,10 +1,11 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { createType, Option, Vec } from '../../codec'; +import StorageHasher from '@polkadot/types/primitive/StorageHasher'; +import { createType, Option, Vec } from '@polkadot/types/codec'; + import MetadataV3 from './Metadata'; -import StorageHasher from '../../primitive/StorageHasher'; import MetadataV4 from '../v4'; import { ModuleMetadataV4 } from '../v4/Metadata'; import { StorageFunctionMetadata, StorageFunctionType } from '../v4/Storage'; diff --git a/packages/types/src/Metadata/v4/Metadata.spec.ts b/packages/metadata/src/Metadata/v4/Metadata.spec.ts similarity index 87% rename from packages/types/src/Metadata/v4/Metadata.spec.ts rename to packages/metadata/src/Metadata/v4/Metadata.spec.ts index 1aa6e5e80f..5b3ee6bd0b 100644 --- a/packages/types/src/Metadata/v4/Metadata.spec.ts +++ b/packages/metadata/src/Metadata/v4/Metadata.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v4/Metadata.ts b/packages/metadata/src/Metadata/v4/Metadata.ts similarity index 84% rename from packages/types/src/Metadata/v4/Metadata.ts rename to packages/metadata/src/Metadata/v4/Metadata.ts index 1a6954b6dd..770ac8ca2b 100644 --- a/packages/types/src/Metadata/v4/Metadata.ts +++ b/packages/metadata/src/Metadata/v4/Metadata.ts @@ -1,14 +1,14 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { EventMetadataV4, FunctionMetadataV4 } from '../../interfaces/metadata'; +import { EventMetadataV4, FunctionMetadataV4 } from '@polkadot/types/interfaces/metadata'; import { MetadataInterface } from '../types'; -import Option from '../../codec/Option'; -import Struct from '../../codec/Struct'; -import Vec from '../../codec/Vec'; -import Text from '../../primitive/Text'; +import Option from '@polkadot/types/codec/Option'; +import Struct from '@polkadot/types/codec/Struct'; +import Vec from '@polkadot/types/codec/Vec'; +import Text from '@polkadot/types/primitive/Text'; import { StorageFunctionMetadata } from './Storage'; /** diff --git a/packages/types/src/Metadata/v4/Storage.ts b/packages/metadata/src/Metadata/v4/Storage.ts similarity index 88% rename from packages/types/src/Metadata/v4/Storage.ts rename to packages/metadata/src/Metadata/v4/Storage.ts index ff24f21f72..5ecc0262c1 100644 --- a/packages/types/src/Metadata/v4/Storage.ts +++ b/packages/metadata/src/Metadata/v4/Storage.ts @@ -1,17 +1,17 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { DoubleMapTypeV4, MapTypeV4, PlainTypeV4, StorageFunctionModifierV4 } from '../../interfaces/metadata'; -import { AnyNumber } from '../../types'; +import { DoubleMapTypeV4, MapTypeV4, PlainTypeV4, StorageFunctionModifierV4 } from '@polkadot/types/interfaces/metadata'; +import { AnyNumber } from '@polkadot/types/types'; import { assert } from '@polkadot/util'; -import Enum from '../../codec/Enum'; -import Struct from '../../codec/Struct'; -import Vec from '../../codec/Vec'; -import Bytes from '../../primitive/Bytes'; -import Text from '../../primitive/Text'; +import Enum from '@polkadot/types/codec/Enum'; +import Struct from '@polkadot/types/codec/Struct'; +import Vec from '@polkadot/types/codec/Vec'; +import Bytes from '@polkadot/types/primitive/Bytes'; +import Text from '@polkadot/types/primitive/Text'; export class StorageFunctionType extends Enum { constructor (value?: any, index?: number) { diff --git a/packages/types/src/Metadata/v4/index.ts b/packages/metadata/src/Metadata/v4/index.ts similarity index 79% rename from packages/types/src/Metadata/v4/index.ts rename to packages/metadata/src/Metadata/v4/index.ts index f6894767cc..4405fc5f83 100644 --- a/packages/types/src/Metadata/v4/index.ts +++ b/packages/metadata/src/Metadata/v4/index.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v4/static-substrate.json b/packages/metadata/src/Metadata/v4/static-substrate.json similarity index 100% rename from packages/types/src/Metadata/v4/static-substrate.json rename to packages/metadata/src/Metadata/v4/static-substrate.json diff --git a/packages/types/src/Metadata/v4/static.ts b/packages/metadata/src/Metadata/v4/static.ts similarity index 99% rename from packages/types/src/Metadata/v4/static.ts rename to packages/metadata/src/Metadata/v4/static.ts index 88a54252b8..5f29c7c2b4 100644 --- a/packages/types/src/Metadata/v4/static.ts +++ b/packages/metadata/src/Metadata/v4/static.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v4/toV5.ts b/packages/metadata/src/Metadata/v4/toV5.ts similarity index 89% rename from packages/types/src/Metadata/v4/toV5.ts rename to packages/metadata/src/Metadata/v4/toV5.ts index 60b4c63612..d6e6402295 100644 --- a/packages/types/src/Metadata/v4/toV5.ts +++ b/packages/metadata/src/Metadata/v4/toV5.ts @@ -1,13 +1,13 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. import { assert } from '@polkadot/util'; -import { createType, Option, Vec } from '../../codec'; -import Text from '../../primitive/Text'; +import { createType, Option, Vec } from '@polkadot/types/codec'; +import StorageHasher from '@polkadot/types/primitive/StorageHasher'; +import Text from '@polkadot/types/primitive/Text'; import MetadataV4 from './Metadata'; -import StorageHasher from '../../primitive/StorageHasher'; import MetadataV5 from '../v5'; import { ModuleMetadataV5 } from '../v5/Metadata'; import { StorageFunctionMetadata, StorageFunctionType } from '../v5/Storage'; diff --git a/packages/types/src/Metadata/v5/Metadata.spec.ts b/packages/metadata/src/Metadata/v5/Metadata.spec.ts similarity index 92% rename from packages/types/src/Metadata/v5/Metadata.spec.ts rename to packages/metadata/src/Metadata/v5/Metadata.spec.ts index 6313aebcdb..c243375ec6 100644 --- a/packages/types/src/Metadata/v5/Metadata.spec.ts +++ b/packages/metadata/src/Metadata/v5/Metadata.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v5/Metadata.ts b/packages/metadata/src/Metadata/v5/Metadata.ts similarity index 84% rename from packages/types/src/Metadata/v5/Metadata.ts rename to packages/metadata/src/Metadata/v5/Metadata.ts index 7953933bc6..7641b8f7dc 100644 --- a/packages/types/src/Metadata/v5/Metadata.ts +++ b/packages/metadata/src/Metadata/v5/Metadata.ts @@ -1,14 +1,14 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { EventMetadataV5, FunctionMetadataV5 } from '../../interfaces/metadata'; +import { EventMetadataV5, FunctionMetadataV5 } from '@polkadot/types/interfaces/metadata'; import { MetadataInterface } from '../types'; -import Option from '../../codec/Option'; -import Struct from '../../codec/Struct'; -import Vec from '../../codec/Vec'; -import Text from '../../primitive/Text'; +import Option from '@polkadot/types/codec/Option'; +import Struct from '@polkadot/types/codec/Struct'; +import Vec from '@polkadot/types/codec/Vec'; +import Text from '@polkadot/types/primitive/Text'; import { StorageFunctionMetadata } from './Storage'; /** diff --git a/packages/types/src/Metadata/v5/Storage.ts b/packages/metadata/src/Metadata/v5/Storage.ts similarity index 88% rename from packages/types/src/Metadata/v5/Storage.ts rename to packages/metadata/src/Metadata/v5/Storage.ts index 44c815625e..b613c571b5 100644 --- a/packages/types/src/Metadata/v5/Storage.ts +++ b/packages/metadata/src/Metadata/v5/Storage.ts @@ -1,17 +1,17 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { DoubleMapTypeV5, MapTypeV5, PlainTypeV5, StorageFunctionModifierV5 } from '../../interfaces/metadata'; -import { AnyNumber } from '../../types'; +import { DoubleMapTypeV5, MapTypeV5, PlainTypeV5, StorageFunctionModifierV5 } from '@polkadot/types/interfaces/metadata'; +import { AnyNumber } from '@polkadot/types/types'; import { assert } from '@polkadot/util'; -import Enum from '../../codec/Enum'; -import Struct from '../../codec/Struct'; -import Vec from '../../codec/Vec'; -import Bytes from '../../primitive/Bytes'; -import Text from '../../primitive/Text'; +import Enum from '@polkadot/types/codec/Enum'; +import Struct from '@polkadot/types/codec/Struct'; +import Vec from '@polkadot/types/codec/Vec'; +import Bytes from '@polkadot/types/primitive/Bytes'; +import Text from '@polkadot/types/primitive/Text'; export class StorageFunctionType extends Enum { constructor (value?: any, index?: number) { diff --git a/packages/types/src/Metadata/v5/index.ts b/packages/metadata/src/Metadata/v5/index.ts similarity index 79% rename from packages/types/src/Metadata/v5/index.ts rename to packages/metadata/src/Metadata/v5/index.ts index e508a67902..8b5d7d448d 100644 --- a/packages/types/src/Metadata/v5/index.ts +++ b/packages/metadata/src/Metadata/v5/index.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v5/static-polkadot.json b/packages/metadata/src/Metadata/v5/static-polkadot.json similarity index 100% rename from packages/types/src/Metadata/v5/static-polkadot.json rename to packages/metadata/src/Metadata/v5/static-polkadot.json diff --git a/packages/types/src/Metadata/v5/static-substrate.json b/packages/metadata/src/Metadata/v5/static-substrate.json similarity index 100% rename from packages/types/src/Metadata/v5/static-substrate.json rename to packages/metadata/src/Metadata/v5/static-substrate.json diff --git a/packages/types/src/Metadata/v5/static.polkadot.ts b/packages/metadata/src/Metadata/v5/static.polkadot.ts similarity index 99% rename from packages/types/src/Metadata/v5/static.polkadot.ts rename to packages/metadata/src/Metadata/v5/static.polkadot.ts index c369b3add8..096f8ffad2 100644 --- a/packages/types/src/Metadata/v5/static.polkadot.ts +++ b/packages/metadata/src/Metadata/v5/static.polkadot.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v5/static.ts b/packages/metadata/src/Metadata/v5/static.ts similarity index 99% rename from packages/types/src/Metadata/v5/static.ts rename to packages/metadata/src/Metadata/v5/static.ts index 700c210ba6..5ac878c939 100644 --- a/packages/types/src/Metadata/v5/static.ts +++ b/packages/metadata/src/Metadata/v5/static.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v5/toV6.ts b/packages/metadata/src/Metadata/v5/toV6.ts similarity index 91% rename from packages/types/src/Metadata/v5/toV6.ts rename to packages/metadata/src/Metadata/v5/toV6.ts index fdb750942a..4b906d045f 100644 --- a/packages/types/src/Metadata/v5/toV6.ts +++ b/packages/metadata/src/Metadata/v5/toV6.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v6/Metadata.spec.ts b/packages/metadata/src/Metadata/v6/Metadata.spec.ts similarity index 92% rename from packages/types/src/Metadata/v6/Metadata.spec.ts rename to packages/metadata/src/Metadata/v6/Metadata.spec.ts index 122328908f..50ca1ae046 100644 --- a/packages/types/src/Metadata/v6/Metadata.spec.ts +++ b/packages/metadata/src/Metadata/v6/Metadata.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v6/Metadata.ts b/packages/metadata/src/Metadata/v6/Metadata.ts similarity index 87% rename from packages/types/src/Metadata/v6/Metadata.ts rename to packages/metadata/src/Metadata/v6/Metadata.ts index 18d92d0f11..b6a6d1667a 100644 --- a/packages/types/src/Metadata/v6/Metadata.ts +++ b/packages/metadata/src/Metadata/v6/Metadata.ts @@ -1,14 +1,14 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { EventMetadataV6, FunctionMetadataV6, ModuleConstantMetadataV6 } from '../../interfaces/metadata'; +import { EventMetadataV6, FunctionMetadataV6, ModuleConstantMetadataV6 } from '@polkadot/types/interfaces/metadata'; import { MetadataInterface } from '../types'; -import Option from '../../codec/Option'; -import Struct from '../../codec/Struct'; -import Vec from '../../codec/Vec'; -import Text from '../../primitive/Text'; +import Option from '@polkadot/types/codec/Option'; +import Struct from '@polkadot/types/codec/Struct'; +import Vec from '@polkadot/types/codec/Vec'; +import Text from '@polkadot/types/primitive/Text'; import { StorageEntryMetadata } from './Storage'; /** diff --git a/packages/types/src/Metadata/v6/Storage.ts b/packages/metadata/src/Metadata/v6/Storage.ts similarity index 87% rename from packages/types/src/Metadata/v6/Storage.ts rename to packages/metadata/src/Metadata/v6/Storage.ts index df1cb8a364..4d58e98e8f 100644 --- a/packages/types/src/Metadata/v6/Storage.ts +++ b/packages/metadata/src/Metadata/v6/Storage.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v6/index.ts b/packages/metadata/src/Metadata/v6/index.ts similarity index 79% rename from packages/types/src/Metadata/v6/index.ts rename to packages/metadata/src/Metadata/v6/index.ts index f074fddb66..6615bacd2c 100644 --- a/packages/types/src/Metadata/v6/index.ts +++ b/packages/metadata/src/Metadata/v6/index.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v6/static-polkadot.json b/packages/metadata/src/Metadata/v6/static-polkadot.json similarity index 100% rename from packages/types/src/Metadata/v6/static-polkadot.json rename to packages/metadata/src/Metadata/v6/static-polkadot.json diff --git a/packages/types/src/Metadata/v6/static-substrate.json b/packages/metadata/src/Metadata/v6/static-substrate.json similarity index 100% rename from packages/types/src/Metadata/v6/static-substrate.json rename to packages/metadata/src/Metadata/v6/static-substrate.json diff --git a/packages/types/src/Metadata/v6/static.polkadot.ts b/packages/metadata/src/Metadata/v6/static.polkadot.ts similarity index 99% rename from packages/types/src/Metadata/v6/static.polkadot.ts rename to packages/metadata/src/Metadata/v6/static.polkadot.ts index 70ca068d77..a476f3540d 100644 --- a/packages/types/src/Metadata/v6/static.polkadot.ts +++ b/packages/metadata/src/Metadata/v6/static.polkadot.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v6/static.ts b/packages/metadata/src/Metadata/v6/static.ts similarity index 99% rename from packages/types/src/Metadata/v6/static.ts rename to packages/metadata/src/Metadata/v6/static.ts index 9f98fb7e30..f264f2e5d0 100644 --- a/packages/types/src/Metadata/v6/static.ts +++ b/packages/metadata/src/Metadata/v6/static.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v6/toV7.ts b/packages/metadata/src/Metadata/v6/toV7.ts similarity index 92% rename from packages/types/src/Metadata/v6/toV7.ts rename to packages/metadata/src/Metadata/v6/toV7.ts index ca496a35c6..652e5fb556 100644 --- a/packages/types/src/Metadata/v6/toV7.ts +++ b/packages/metadata/src/Metadata/v6/toV7.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v7/Metadata.spec.ts b/packages/metadata/src/Metadata/v7/Metadata.spec.ts similarity index 92% rename from packages/types/src/Metadata/v7/Metadata.spec.ts rename to packages/metadata/src/Metadata/v7/Metadata.spec.ts index b9aa29de26..aa4ddd65d4 100644 --- a/packages/types/src/Metadata/v7/Metadata.spec.ts +++ b/packages/metadata/src/Metadata/v7/Metadata.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v7/Metadata.ts b/packages/metadata/src/Metadata/v7/Metadata.ts similarity index 86% rename from packages/types/src/Metadata/v7/Metadata.ts rename to packages/metadata/src/Metadata/v7/Metadata.ts index 15b175c75b..7d02115b27 100644 --- a/packages/types/src/Metadata/v7/Metadata.ts +++ b/packages/metadata/src/Metadata/v7/Metadata.ts @@ -1,14 +1,14 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { EventMetadataV7, FunctionMetadataV7, ModuleConstantMetadataV7 } from '../../interfaces/metadata'; +import { EventMetadataV7, FunctionMetadataV7, ModuleConstantMetadataV7 } from '@polkadot/types/interfaces/metadata'; import { MetadataInterface } from '../types'; -import Option from '../../codec/Option'; -import Struct from '../../codec/Struct'; -import Vec from '../../codec/Vec'; -import Text from '../../primitive/Text'; +import Option from '@polkadot/types/codec/Option'; +import Struct from '@polkadot/types/codec/Struct'; +import Vec from '@polkadot/types/codec/Vec'; +import Text from '@polkadot/types/primitive/Text'; import { StorageMetadata } from './Storage'; /** diff --git a/packages/types/src/Metadata/v7/Storage.ts b/packages/metadata/src/Metadata/v7/Storage.ts similarity index 81% rename from packages/types/src/Metadata/v7/Storage.ts rename to packages/metadata/src/Metadata/v7/Storage.ts index b1a1a73aad..9af1ee7396 100644 --- a/packages/types/src/Metadata/v7/Storage.ts +++ b/packages/metadata/src/Metadata/v7/Storage.ts @@ -1,10 +1,10 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import Struct from '../../codec/Struct'; -import Vec from '../../codec/Vec'; -import Text from '../../primitive/Text'; +import Struct from '@polkadot/types/codec/Struct'; +import Vec from '@polkadot/types/codec/Vec'; +import Text from '@polkadot/types/primitive/Text'; import { StorageEntryMetadata, StorageEntryMetadataValue, StorageEntryType } from '../v6/Storage'; // Re-export classes that haven't changed between V6 and V7 diff --git a/packages/types/src/Metadata/v7/index.ts b/packages/metadata/src/Metadata/v7/index.ts similarity index 79% rename from packages/types/src/Metadata/v7/index.ts rename to packages/metadata/src/Metadata/v7/index.ts index 82c22f8da3..33cd99f0e8 100644 --- a/packages/types/src/Metadata/v7/index.ts +++ b/packages/metadata/src/Metadata/v7/index.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v7/static-polkadot.json b/packages/metadata/src/Metadata/v7/static-polkadot.json similarity index 100% rename from packages/types/src/Metadata/v7/static-polkadot.json rename to packages/metadata/src/Metadata/v7/static-polkadot.json diff --git a/packages/types/src/Metadata/v7/static-substrate.json b/packages/metadata/src/Metadata/v7/static-substrate.json similarity index 100% rename from packages/types/src/Metadata/v7/static-substrate.json rename to packages/metadata/src/Metadata/v7/static-substrate.json diff --git a/packages/types/src/Metadata/v7/static.polkadot.ts b/packages/metadata/src/Metadata/v7/static.polkadot.ts similarity index 99% rename from packages/types/src/Metadata/v7/static.polkadot.ts rename to packages/metadata/src/Metadata/v7/static.polkadot.ts index b6205bda19..ba486b0dad 100644 --- a/packages/types/src/Metadata/v7/static.polkadot.ts +++ b/packages/metadata/src/Metadata/v7/static.polkadot.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v7/static.ts b/packages/metadata/src/Metadata/v7/static.ts similarity index 99% rename from packages/types/src/Metadata/v7/static.ts rename to packages/metadata/src/Metadata/v7/static.ts index ef3fbcfc90..44aea76299 100644 --- a/packages/types/src/Metadata/v7/static.ts +++ b/packages/metadata/src/Metadata/v7/static.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v7/toV8.ts b/packages/metadata/src/Metadata/v7/toV8.ts similarity index 90% rename from packages/types/src/Metadata/v7/toV8.ts rename to packages/metadata/src/Metadata/v7/toV8.ts index 52ec43a938..a73da17358 100644 --- a/packages/types/src/Metadata/v7/toV8.ts +++ b/packages/metadata/src/Metadata/v7/toV8.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v8/Metadata.spec.ts b/packages/metadata/src/Metadata/v8/Metadata.spec.ts similarity index 88% rename from packages/types/src/Metadata/v8/Metadata.spec.ts rename to packages/metadata/src/Metadata/v8/Metadata.spec.ts index 7ddb0dcbd9..68f4108953 100644 --- a/packages/types/src/Metadata/v8/Metadata.spec.ts +++ b/packages/metadata/src/Metadata/v8/Metadata.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v8/Metadata.ts b/packages/metadata/src/Metadata/v8/Metadata.ts similarity index 88% rename from packages/types/src/Metadata/v8/Metadata.ts rename to packages/metadata/src/Metadata/v8/Metadata.ts index 5a01b87634..8059213a33 100644 --- a/packages/types/src/Metadata/v8/Metadata.ts +++ b/packages/metadata/src/Metadata/v8/Metadata.ts @@ -1,14 +1,14 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { ErrorMetadataV8, EventMetadataV8, FunctionMetadataV8, ModuleConstantMetadataV8 } from '../../interfaces/metadata'; +import { ErrorMetadataV8, EventMetadataV8, FunctionMetadataV8, ModuleConstantMetadataV8 } from '@polkadot/types/interfaces/metadata'; import { MetadataInterface } from '../types'; -import Option from '../../codec/Option'; -import Struct from '../../codec/Struct'; -import Vec from '../../codec/Vec'; -import Text from '../../primitive/Text'; +import Option from '@polkadot/types/codec/Option'; +import Struct from '@polkadot/types/codec/Struct'; +import Vec from '@polkadot/types/codec/Vec'; +import Text from '@polkadot/types/primitive/Text'; import { StorageMetadata } from './Storage'; // Note the following errors are non-duplicated and fill the first 2 slots for diff --git a/packages/types/src/Metadata/v8/Storage.ts b/packages/metadata/src/Metadata/v8/Storage.ts similarity index 79% rename from packages/types/src/Metadata/v8/Storage.ts rename to packages/metadata/src/Metadata/v8/Storage.ts index 55b3185b7d..b78b899323 100644 --- a/packages/types/src/Metadata/v8/Storage.ts +++ b/packages/metadata/src/Metadata/v8/Storage.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v8/index.ts b/packages/metadata/src/Metadata/v8/index.ts similarity index 79% rename from packages/types/src/Metadata/v8/index.ts rename to packages/metadata/src/Metadata/v8/index.ts index 4780501e14..0b99a724bf 100644 --- a/packages/types/src/Metadata/v8/index.ts +++ b/packages/metadata/src/Metadata/v8/index.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/types/src/Metadata/v8/static-substrate.json b/packages/metadata/src/Metadata/v8/static-substrate.json similarity index 100% rename from packages/types/src/Metadata/v8/static-substrate.json rename to packages/metadata/src/Metadata/v8/static-substrate.json diff --git a/packages/types/src/Metadata/v8/static.ts b/packages/metadata/src/Metadata/v8/static.ts similarity index 99% rename from packages/types/src/Metadata/v8/static.ts rename to packages/metadata/src/Metadata/v8/static.ts index 5501452d8e..9f12baf473 100644 --- a/packages/types/src/Metadata/v8/static.ts +++ b/packages/metadata/src/Metadata/v8/static.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/types authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. diff --git a/packages/metadata/src/index.ts b/packages/metadata/src/index.ts new file mode 100644 index 0000000000..07935919b9 --- /dev/null +++ b/packages/metadata/src/index.ts @@ -0,0 +1,8 @@ +// Copyright 2017-2019 @polkadot/metadata authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +// Even though it's decorated, we still call this one `Metadata` +import Metadata from './Decorated'; + +export default Metadata; diff --git a/packages/rpc-core/src/formatting.spec.ts b/packages/rpc-core/src/formatting.spec.ts index 311093465f..011d323515 100644 --- a/packages/rpc-core/src/formatting.spec.ts +++ b/packages/rpc-core/src/formatting.spec.ts @@ -7,15 +7,13 @@ import '@polkadot/types/injector'; import { Balance } from '@polkadot/types/interfaces'; import { Codec } from '@polkadot/types/types'; -import fromMetadata from '@polkadot/api-metadata/storage/fromMetadata'; -import { Storage } from '@polkadot/api-metadata/storage/types'; -import Metadata from '@polkadot/types/Metadata'; -import rpcMetadataV3 from '@polkadot/types/Metadata/v3/static'; -import rpcMetadataV4 from '@polkadot/types/Metadata/v4/static'; -import rpcMetadataV5 from '@polkadot/types/Metadata/v5/static'; -import rpcMetadataV6 from '@polkadot/types/Metadata/v6/static'; -import rpcMetadataV7 from '@polkadot/types/Metadata/v7/static'; -import rpcMetadataV8 from '@polkadot/types/Metadata/v8/static'; +import Metadata from '@polkadot/metadata'; +import rpcMetadataV3 from '@polkadot/metadata/Metadata/v3/static'; +import rpcMetadataV4 from '@polkadot/metadata/Metadata/v4/static'; +import rpcMetadataV5 from '@polkadot/metadata/Metadata/v5/static'; +import rpcMetadataV6 from '@polkadot/metadata/Metadata/v6/static'; +import rpcMetadataV7 from '@polkadot/metadata/Metadata/v7/static'; +import rpcMetadataV8 from '@polkadot/metadata/Metadata/v8/static'; import Api from '.'; @@ -27,7 +25,7 @@ const BALANCE_KEYS = [ ]; const OPTION_BYTES_HEX = '0x210100000000000000000000000000000000000000000000000000000000000000000000000000000000011b4d03dd8c01f1049143cf9c4c817e4b167f1d1b83e5c6f0f10d89ba1e7bce'; -function formattingTests (version: string, storage: Storage, encodedValues: [string, string, string]): void { +function formattingTests (version: string, decorated: Metadata, encodedValues: [string, string, string]): void { const [ENC_ONE, ENC_TWO, CONTRACT_KEY] = encodedValues; describe(`formatting with Metadata ${version}`, (): void => { @@ -80,7 +78,7 @@ function formattingTests (version: string, storage: Storage, encodedValues: [str it('encodes key (with params), decoding response', (done): void => { api.state - .getStorage([storage.balances.freeBalance, ADDR_ONE]) + .getStorage([decorated.query.balances.freeBalance, ADDR_ONE]) .subscribe((value): void => { expect( provider.send @@ -95,7 +93,7 @@ function formattingTests (version: string, storage: Storage, encodedValues: [str it('returns the fallback result on not-found values', (done): void => { api.state - .getStorage([storage.system.accountNonce, ADDR_ONE]) + .getStorage([decorated.query.system.accountNonce, ADDR_ONE]) .subscribe((value): void => { expect(value.toHex()).toEqual('0x00000000'); done(); @@ -105,8 +103,8 @@ function formattingTests (version: string, storage: Storage, encodedValues: [str it('encodes multiple keys, decoding multiple results', (done): void => { api.state.subscribeStorage<[Balance, Balance]>( [ - [storage.balances.freeBalance, ADDR_ONE], - [storage.balances.freeBalance, ADDR_TWO] + [decorated.query.balances.freeBalance, ADDR_ONE], + [decorated.query.balances.freeBalance, ADDR_TWO] ] ).subscribe((value): void => { // console.error(value); @@ -131,8 +129,8 @@ function formattingTests (version: string, storage: Storage, encodedValues: [str it('handles the case where Option are retrieved', (done): void => { const call = Number(version.slice(1)) <= 5 - ? storage.contract.pristineCode - : storage.contracts.pristineCode; + ? decorated.query.contract.pristineCode + : decorated.query.contracts.pristineCode; api.state .subscribeStorage([[call, '0x00']]) @@ -147,7 +145,7 @@ function formattingTests (version: string, storage: Storage, encodedValues: [str }); it('handles fallbacks for linked heads (new metadata only)', (done): void => { - const headKey = storage.staking.validators && storage.staking.validators.headKey; + const headKey = decorated.query.staking.validators && decorated.query.staking.validators.headKey; // skip for old if (!headKey) { @@ -165,7 +163,7 @@ function formattingTests (version: string, storage: Storage, encodedValues: [str }); it('handles fallbacks for linked maps (new metadata only)', (done): void => { - const headKey = storage.staking.validators && storage.staking.validators.headKey; + const headKey = decorated.query.staking.validators && decorated.query.staking.validators.headKey; // skip for old if (!headKey) { @@ -173,7 +171,7 @@ function formattingTests (version: string, storage: Storage, encodedValues: [str } api.state - .subscribeStorage([[storage.staking.validators, '0x00']]) + .subscribeStorage([[decorated.query.staking.validators, '0x00']]) .subscribe(([value]: Codec[]): void => { expect(value).toBeDefined(); // console.error('linked falklback', value); @@ -184,37 +182,37 @@ function formattingTests (version: string, storage: Storage, encodedValues: [str }); } -formattingTests('v3', fromMetadata(new Metadata(rpcMetadataV3)), [ +formattingTests('v3', new Metadata(rpcMetadataV3), [ '0x4af2c53fce3ec33c6ccccf22e926f1a7', '0x3e62f7ed6e788e1337bce2a97b68a12a', '0x777519cd81f845abdb40d253923d6098' ]); -formattingTests('v4', fromMetadata(new Metadata(rpcMetadataV4)), [ +formattingTests('v4', new Metadata(rpcMetadataV4), [ '0xec8f96437274a883afcac82d01a9defeb68209cd4f2c084632813692aa5e65ad', '0x1dbb0224910f42a14e7f1406b24c6fe8157296691b02a78756e01946038fffab', '0xc7879f4faa637a90d782070a3cb6be99a9fb0316e19a0454ce93c4f0a34712f1' ]); -formattingTests('v5', fromMetadata(new Metadata(rpcMetadataV5)), [ +formattingTests('v5', new Metadata(rpcMetadataV5), [ '0xec8f96437274a883afcac82d01a9defeb68209cd4f2c084632813692aa5e65ad', '0x1dbb0224910f42a14e7f1406b24c6fe8157296691b02a78756e01946038fffab', '0xc7879f4faa637a90d782070a3cb6be99a9fb0316e19a0454ce93c4f0a34712f1' ]); -formattingTests('v6', fromMetadata(new Metadata(rpcMetadataV6)), [ +formattingTests('v6', new Metadata(rpcMetadataV6), [ '0xec8f96437274a883afcac82d01a9defeb68209cd4f2c084632813692aa5e65ad', '0x1dbb0224910f42a14e7f1406b24c6fe8157296691b02a78756e01946038fffab', '0xc7879f4faa637a90d782070a3cb6be99a9fb0316e19a0454ce93c4f0a34712f1' ]); -formattingTests('v7', fromMetadata(new Metadata(rpcMetadataV7)), [ +formattingTests('v7', new Metadata(rpcMetadataV7), [ '0xec8f96437274a883afcac82d01a9defeb68209cd4f2c084632813692aa5e65ad', '0x1dbb0224910f42a14e7f1406b24c6fe8157296691b02a78756e01946038fffab', '0xc7879f4faa637a90d782070a3cb6be99a9fb0316e19a0454ce93c4f0a34712f1' ]); -formattingTests('v8', fromMetadata(new Metadata(rpcMetadataV8)), [ +formattingTests('v8', new Metadata(rpcMetadataV8), [ '0xec8f96437274a883afcac82d01a9defeb68209cd4f2c084632813692aa5e65ad', '0x1dbb0224910f42a14e7f1406b24c6fe8157296691b02a78756e01946038fffab', '0xc7879f4faa637a90d782070a3cb6be99a9fb0316e19a0454ce93c4f0a34712f1' diff --git a/packages/rpc-provider/package.json b/packages/rpc-provider/package.json index c05759e04d..e663757a2e 100644 --- a/packages/rpc-provider/package.json +++ b/packages/rpc-provider/package.json @@ -27,7 +27,7 @@ "homepage": "https://github.com/polkadot-js/api/tree/master/packages/rpc-provider#readme", "dependencies": { "@babel/runtime": "^7.7.1", - "@polkadot/api-metadata": "^0.97.0-beta.2", + "@polkadot/metadata": "^0.97.0-beta.2", "@polkadot/util": "^1.7.0-beta.6", "@polkadot/util-crypto": "^1.7.0-beta.6", "eventemitter3": "^4.0.0", diff --git a/packages/rpc-provider/src/mock/index.ts b/packages/rpc-provider/src/mock/index.ts index 4466192264..28f68e2235 100644 --- a/packages/rpc-provider/src/mock/index.ts +++ b/packages/rpc-provider/src/mock/index.ts @@ -3,6 +3,8 @@ // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. +import '@polkadot/types/injector'; + import { Header } from '@polkadot/types/interfaces'; import { Codec } from '@polkadot/types/types'; import { ProviderInterface, ProviderInterfaceEmitted, ProviderInterfaceEmitCb } from '../types'; @@ -10,10 +12,10 @@ import { MockStateSubscriptions, MockStateSubscriptionCallback, MockStateDb } fr import BN from 'bn.js'; import EventEmitter from 'eventemitter3'; +import Metadata from '@polkadot/metadata'; +import rpcMetadata from '@polkadot/metadata/Metadata/static'; import interfaces from '@polkadot/jsonrpc'; import testKeyring from '@polkadot/keyring/testing'; -import storage from '@polkadot/api-metadata/storage/static'; -import rpcMetadata from '@polkadot/types/Metadata/static'; import rpcSignedBlock from '@polkadot/types/json/SignedBlock.004.immortal.json'; import { createType } from '@polkadot/types'; import { bnToU8a, logger, u8aToHex } from '@polkadot/util'; @@ -155,6 +157,8 @@ export default class Mock implements ProviderInterface { let newHead = this.makeBlockHeader(new BN(-1)); let counter = -1; + const metadata = new Metadata(rpcMetadata); + // Do something every 1 seconds setInterval((): void => { if (!this.isUpdating) { @@ -166,12 +170,12 @@ export default class Mock implements ProviderInterface { // increment the balances and nonce for each account keyring.getPairs().forEach(({ publicKey }, index): void => { - this.setStateBn(storage.balances.freeBalance(publicKey), newHead.number.toBn().muln(3).iaddn(index)); - this.setStateBn(storage.system.accountNonce(publicKey), newHead.number.toBn().addn(index)); + this.setStateBn(metadata.query.balances.freeBalance(publicKey), newHead.number.toBn().muln(3).iaddn(index)); + this.setStateBn(metadata.query.system.accountNonce(publicKey), newHead.number.toBn().addn(index)); }); // set the timestamp for the current block - this.setStateBn(storage.timestamp.now(), Math.floor(Date.now() / 1000)); + this.setStateBn(metadata.query.timestamp.now(), Math.floor(Date.now() / 1000)); this.updateSubs('chain_subscribeNewHead', newHead); // We emit connected/disconnected at intervals diff --git a/packages/types/src/codec/Tuple.spec.ts b/packages/types/src/codec/Tuple.spec.ts index 5a9bc01019..bf7c7c5350 100644 --- a/packages/types/src/codec/Tuple.spec.ts +++ b/packages/types/src/codec/Tuple.spec.ts @@ -8,9 +8,10 @@ import { VoteThreshold } from '../interfaces/elections'; import { BlockNumber } from '../interfaces/runtime'; import { CodecTo } from '../types'; +import Metadata from '@polkadot/metadata/Metadata'; +import rpcMetadata from '@polkadot/metadata/Metadata/static'; + import { ClassOf } from './create'; -import Metadata from '../Metadata'; -import metadataStatic from '../Metadata/static'; import Call from '../primitive/Generic/Call'; import Text from '../primitive/Text'; import U32 from '../primitive/U32'; @@ -66,7 +67,7 @@ describe('Tuple', (): void => { }); it('creates properly via actual hex string', (): void => { - Call.injectMetadata(new Metadata(metadataStatic)); + Call.injectMetadata(new Metadata(rpcMetadata)); const test = new (Tuple.with([ ClassOf('BlockNumber'), ClassOf('VoteThreshold') diff --git a/packages/types/src/codec/Vec.spec.ts b/packages/types/src/codec/Vec.spec.ts index 459f66e204..471afc556c 100644 --- a/packages/types/src/codec/Vec.spec.ts +++ b/packages/types/src/codec/Vec.spec.ts @@ -7,8 +7,9 @@ import '../injector'; import { PropIndex } from '../interfaces/democracy'; import { Codec, CodecTo } from '../types'; -import Metadata from '../Metadata'; -import metadataStatic from '../Metadata/static'; +import Metadata from '@polkadot/metadata/Metadata'; +import rpcMetadata from '@polkadot/metadata/Metadata/static'; + import AccountId from '../primitive/Generic/AccountId'; import Call from '../primitive/Generic/Call'; import Text from '../primitive/Text'; @@ -22,7 +23,7 @@ describe('Vec', (): void => { beforeEach((): void => { vector = new Vec(Text, ['1', '23', '345', '4567', new Text('56789')]); - Call.injectMetadata(new Metadata(metadataStatic)); + Call.injectMetadata(new Metadata(rpcMetadata)); }); it('wraps a sequence of values', (): void => { diff --git a/packages/types/src/index.spec.ts b/packages/types/src/index.spec.ts index 8d0e279d75..a73ce9b093 100644 --- a/packages/types/src/index.spec.ts +++ b/packages/types/src/index.spec.ts @@ -4,8 +4,9 @@ import './injector'; -import Metadata from './Metadata'; -import metadataStatic from './Metadata/static'; +import Metadata from '@polkadot/metadata/Metadata'; +import metadataStatic from '@polkadot/metadata/Metadata/static'; + import { createTypeUnsafe } from './codec/create'; import GenericCall from './primitive/Generic/Call'; import { Codec } from './types'; diff --git a/packages/types/src/index.types.ts b/packages/types/src/index.types.ts index eb3c819679..7980afef86 100644 --- a/packages/types/src/index.types.ts +++ b/packages/types/src/index.types.ts @@ -5,5 +5,5 @@ /** * @summary Type definitions that are used in the system */ -export { default as Metadata } from './Metadata'; +export { default as Metadata } from '@polkadot/metadata/Metadata'; export * from './primitive'; diff --git a/packages/types/src/interfaces/runtime/SignedBlock.spec.ts b/packages/types/src/interfaces/runtime/SignedBlock.spec.ts index de101d3257..9a2d3b677a 100644 --- a/packages/types/src/interfaces/runtime/SignedBlock.spec.ts +++ b/packages/types/src/interfaces/runtime/SignedBlock.spec.ts @@ -4,8 +4,9 @@ import '../../injector'; -import Metadata from '../../Metadata'; -import metadataStatic from '../../Metadata/static'; +import Metadata from '@polkadot/metadata/Metadata'; +import metadataStatic from '@polkadot/metadata/Metadata/static'; + import { createType } from '../../codec/create'; import Call from '../../primitive/Generic/Call'; import events from '../../json/SignedBlock.002.json'; diff --git a/packages/types/src/interfaces/system/EventRecord.spec.ts b/packages/types/src/interfaces/system/EventRecord.spec.ts index bbf5212640..73207765a9 100644 --- a/packages/types/src/interfaces/system/EventRecord.spec.ts +++ b/packages/types/src/interfaces/system/EventRecord.spec.ts @@ -6,20 +6,21 @@ import '../../injector'; import { EventRecord } from './types'; +import Metadata from '@polkadot/metadata/Metadata'; +import rpcMetadataV0 from '@polkadot/metadata/Metadata/v0/static'; +import rpcMetadata from '@polkadot/metadata/Metadata/static'; + import { createType } from '../../codec/create'; import Vec from '../../codec/Vec'; import json1 from '../../json/EventRecord.001.json'; import json3 from '../../json/EventRecord.003.json'; import GenericEvent from '../../primitive/Generic/Event'; -import Metadata from '../../Metadata'; -import metadataV0 from '../../Metadata/v0/static'; -import metadata from '../../Metadata/static'; describe('EventRecord', (): void => { describe('EventRecord_0_76', (): void => { beforeEach((): void => { GenericEvent.injectMetadata( - new Metadata(metadataV0) + new Metadata(rpcMetadataV0) ); }); @@ -34,7 +35,7 @@ describe('EventRecord', (): void => { describe('EventRecord (current)', (): void => { beforeEach((): void => { GenericEvent.injectMetadata( - new Metadata(metadata) + new Metadata(rpcMetadata) ); }); diff --git a/packages/types/src/primitive/Extrinsic/Extrinsic.spec.ts b/packages/types/src/primitive/Extrinsic/Extrinsic.spec.ts index 57f22e57ec..718e49290b 100644 --- a/packages/types/src/primitive/Extrinsic/Extrinsic.spec.ts +++ b/packages/types/src/primitive/Extrinsic/Extrinsic.spec.ts @@ -4,16 +4,16 @@ import '../../injector'; +import Metadata from '@polkadot/metadata/Metadata'; +import rpcMetadata from '@polkadot/metadata/Metadata/static'; import { hexToU8a } from '@polkadot/util'; import Call from '../Generic/Call'; -import Metadata from '../../Metadata'; -import metadataStatic from '../../Metadata/static'; import Extrinsic from './Extrinsic'; describe('Extrinsic', (): void => { beforeAll((): void => { - Call.injectMetadata(new Metadata(metadataStatic)); + Call.injectMetadata(new Metadata(rpcMetadata)); }); describe('V1', (): void => { diff --git a/packages/types/src/primitive/Extrinsic/SignerPayload.spec.ts b/packages/types/src/primitive/Extrinsic/SignerPayload.spec.ts index 00c0eff4b4..7bddbb2450 100644 --- a/packages/types/src/primitive/Extrinsic/SignerPayload.spec.ts +++ b/packages/types/src/primitive/Extrinsic/SignerPayload.spec.ts @@ -4,8 +4,8 @@ import { createType, GenericCall } from '@polkadot/types'; -import Metadata from '../../Metadata'; -import metadataStatic from '../../Metadata/static'; +import Metadata from '@polkadot/metadata/Metadata'; +import rpcMetadata from '@polkadot/metadata/Metadata/static'; import SignerPayload from './SignerPayload'; describe('SignerPayload', (): void => { @@ -23,7 +23,7 @@ describe('SignerPayload', (): void => { }; beforeEach((): void => { - GenericCall.injectMetadata(new Metadata(metadataStatic)); + GenericCall.injectMetadata(new Metadata(rpcMetadata)); }); it('creates a valid JSON output', (): void => { diff --git a/packages/types/src/primitive/Extrinsic/v2/Extrinsic.spec.ts b/packages/types/src/primitive/Extrinsic/v2/Extrinsic.spec.ts index f5035d04e9..c0bccb472c 100644 --- a/packages/types/src/primitive/Extrinsic/v2/Extrinsic.spec.ts +++ b/packages/types/src/primitive/Extrinsic/v2/Extrinsic.spec.ts @@ -5,19 +5,20 @@ import '../../../injector'; import BN from 'bn.js'; -import extrinsics from '@polkadot/api-metadata/extrinsics/static'; +import Decorated from '@polkadot/metadata/Decorated'; +import Metadata from '@polkadot/metadata/Metadata'; +import rpcMetadata from '@polkadot/metadata/Metadata/static'; import testingPairs from '@polkadot/keyring/testingPairs'; -import Metadata from '../../../Metadata'; -import metadataStatic from '../../../Metadata/static'; import Call from '../../Generic/Call'; import Extrinsic from './Extrinsic'; +const decorated = new Decorated(rpcMetadata); const keyring = testingPairs({ type: 'ed25519' }, false); describe('ExtrinsicV2', (): void => { beforeEach((): void => { - Call.injectMetadata(new Metadata(metadataStatic)); + Call.injectMetadata(new Metadata(rpcMetadata)); }); it('constructs a sane Uint8Array (default)', (): void => { @@ -29,7 +30,7 @@ describe('ExtrinsicV2', (): void => { it('creates a unsigned extrinsic', (): void => { expect( new Extrinsic( - extrinsics.balances.transfer(keyring.bob.publicKey, 6969) + decorated.tx.balances.transfer(keyring.bob.publicKey, 6969) ).toHex() ).toEqual( '0x' + @@ -43,7 +44,7 @@ describe('ExtrinsicV2', (): void => { it('creates a signed extrinsic', (): void => { expect( new Extrinsic( - extrinsics.balances.transfer(keyring.bob.publicKey, 6969) + decorated.tx.balances.transfer(keyring.bob.publicKey, 6969) ).sign(keyring.alice, { blockHash: '0xec7afaf1cca720ce88c1d1b689d81f0583cc15a97d621cf046dd9abf605ef22f', genesisHash: '0xdcd1346701ca8396496e52aa2785b1748deb6db09551b72159dcb3e08991025b', diff --git a/packages/types/src/primitive/Extrinsic/v3/Extrinsic.spec.ts b/packages/types/src/primitive/Extrinsic/v3/Extrinsic.spec.ts index 95870a2fd1..bec887c70e 100644 --- a/packages/types/src/primitive/Extrinsic/v3/Extrinsic.spec.ts +++ b/packages/types/src/primitive/Extrinsic/v3/Extrinsic.spec.ts @@ -5,19 +5,20 @@ import '../../../injector'; import BN from 'bn.js'; -import extrinsics from '@polkadot/api-metadata/extrinsics/static'; +import Decorated from '@polkadot/metadata/Decorated'; +import Metadata from '@polkadot/metadata/Metadata'; +import rpcMetadata from '@polkadot/metadata/Metadata/static'; import testingPairs from '@polkadot/keyring/testingPairs'; -import Metadata from '../../../Metadata'; -import metadataStatic from '../../../Metadata/static'; import Call from '../../Generic/Call'; import Extrinsic from './Extrinsic'; +const decorated = new Decorated(rpcMetadata); const keyring = testingPairs({ type: 'ed25519' }, false); describe('ExtrinsicV3', (): void => { beforeEach((): void => { - Call.injectMetadata(new Metadata(metadataStatic)); + Call.injectMetadata(new Metadata(rpcMetadata)); }); it('constructs a sane Uint8Array (default)', (): void => { @@ -29,7 +30,7 @@ describe('ExtrinsicV3', (): void => { it('creates a unsigned extrinsic', (): void => { expect( new Extrinsic( - extrinsics.balances.transfer(keyring.bob.publicKey, 6969) + decorated.tx.balances.transfer(keyring.bob.publicKey, 6969) ).toHex() ).toEqual( '0x' + @@ -43,7 +44,7 @@ describe('ExtrinsicV3', (): void => { it('creates a signed extrinsic', (): void => { expect( new Extrinsic( - extrinsics.balances.transfer(keyring.bob.publicKey, 6969) + decorated.tx.balances.transfer(keyring.bob.publicKey, 6969) ).sign(keyring.alice, { blockHash: '0xec7afaf1cca720ce88c1d1b689d81f0583cc15a97d621cf046dd9abf605ef22f', genesisHash: '0xdcd1346701ca8396496e52aa2785b1748deb6db09551b72159dcb3e08991025b', diff --git a/packages/types/src/primitive/Extrinsic/v4/Extrinsic.spec.ts b/packages/types/src/primitive/Extrinsic/v4/Extrinsic.spec.ts index 813293b806..360cf22470 100644 --- a/packages/types/src/primitive/Extrinsic/v4/Extrinsic.spec.ts +++ b/packages/types/src/primitive/Extrinsic/v4/Extrinsic.spec.ts @@ -5,14 +5,15 @@ import '../../../injector'; import BN from 'bn.js'; -import extrinsics from '@polkadot/api-metadata/extrinsics/static'; import testingPairs from '@polkadot/keyring/testingPairs'; +import Decorated from '@polkadot/metadata'; +import Metadata from '@polkadot/metadata/Metadata'; +import metadataStatic from '@polkadot/metadata/Metadata/static'; -import Metadata from '../../../Metadata'; -import metadataStatic from '../../../Metadata/static'; import Call from '../../Generic/Call'; import Extrinsic from './Extrinsic'; +const decorated = new Decorated(metadataStatic); const keyring = testingPairs({ type: 'ed25519' }, false); describe('ExtrinsicV4', (): void => { @@ -29,7 +30,7 @@ describe('ExtrinsicV4', (): void => { it('creates a unsigned extrinsic', (): void => { expect( new Extrinsic( - extrinsics.balances.transfer(keyring.bob.publicKey, 6969) + decorated.tx.balances.transfer(keyring.bob.publicKey, 6969) ).toHex() ).toEqual( '0x' + @@ -43,7 +44,7 @@ describe('ExtrinsicV4', (): void => { it('creates a signed extrinsic', (): void => { expect( new Extrinsic( - extrinsics.balances.transfer(keyring.bob.publicKey, 6969) + decorated.tx.balances.transfer(keyring.bob.publicKey, 6969) ).sign(keyring.alice, { blockHash: '0xec7afaf1cca720ce88c1d1b689d81f0583cc15a97d621cf046dd9abf605ef22f', genesisHash: '0xdcd1346701ca8396496e52aa2785b1748deb6db09551b72159dcb3e08991025b', diff --git a/packages/types/src/primitive/Generic/Block.spec.ts b/packages/types/src/primitive/Generic/Block.spec.ts index b8e0d4043a..ba0ad07a30 100644 --- a/packages/types/src/primitive/Generic/Block.spec.ts +++ b/packages/types/src/primitive/Generic/Block.spec.ts @@ -4,15 +4,16 @@ import '../../injector'; -import Metadata from '../../Metadata'; -import metadataStatic from '../../Metadata/static'; +import Metadata from '@polkadot/metadata/Metadata'; +import rpcMetadata from '@polkadot/metadata/Metadata/static'; + import block00300 from '../../json/SignedBlock.003.00.json'; import Call from './Call'; import Block from './Block'; describe('Block', (): void => { beforeEach((): void => { - Call.injectMetadata(new Metadata(metadataStatic)); + Call.injectMetadata(new Metadata(rpcMetadata)); }); it('has a valid toRawType', (): void => { diff --git a/packages/types/src/primitive/Generic/Call.spec.ts b/packages/types/src/primitive/Generic/Call.spec.ts index 370b1c804d..8ecf798069 100644 --- a/packages/types/src/primitive/Generic/Call.spec.ts +++ b/packages/types/src/primitive/Generic/Call.spec.ts @@ -1,11 +1,12 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. import '../../injector'; -import Metadata from '../../Metadata'; -import metadataStatic from '../../Metadata/static'; +import Metadata from '@polkadot/metadata/Metadata'; +import metadataStatic from '@polkadot/metadata/Metadata/static'; + import Call from './Call'; describe('Call', (): void => { diff --git a/packages/types/src/primitive/Generic/Call.ts b/packages/types/src/primitive/Generic/Call.ts index 69ea26c87f..3679fdedab 100644 --- a/packages/types/src/primitive/Generic/Call.ts +++ b/packages/types/src/primitive/Generic/Call.ts @@ -1,17 +1,19 @@ -// Copyright 2017-2019 @polkadot/api-metadata authors & contributors +// Copyright 2017-2019 @polkadot/metadata authors & contributors // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. import { FunctionArgumentMetadataLatest, FunctionMetadataLatest } from '../../interfaces/metadata'; import { AnyU8a, ArgsDef, CallFunction, Codec, IMethod } from '../../types'; -import extrinsicsFromMeta from '@polkadot/api-metadata/extrinsics/fromMetadata'; +// FIXME Here we unfortunately cannot use Decorated, because that already calls +// fromMetadata for storage, and we have then a type import ordering problem +import extrinsicsFromMeta from '@polkadot/metadata/Decorated/extrinsics/fromMetadata'; import { assert, isHex, isObject, isU8a, u8aToU8a } from '@polkadot/util'; +import Metadata from '@polkadot/metadata/Metadata'; import { getTypeDef, getTypeClass } from '../../codec/create'; import Struct from '../../codec/Struct'; import U8aFixed from '../../codec/U8aFixed'; -import Metadata from '../../Metadata'; interface DecodeMethodInput { args: any; @@ -156,6 +158,9 @@ export default class Call extends Struct implements IMethod { }, {} as unknown as ArgsDef); } + // FIXME Should take the Decorated metadata (`import Metadata from '@polkadot/metadata'`) + // instead of the Codec Metadata + // https://github.com/polkadot-js/api/pull/1463#pullrequestreview-300618425 public static injectMetadata (metadata: Metadata): void { const extrinsics = extrinsicsFromMeta(metadata); diff --git a/packages/types/src/primitive/Generic/Event.ts b/packages/types/src/primitive/Generic/Event.ts index 2f6f1083d9..3d5cac0acf 100644 --- a/packages/types/src/primitive/Generic/Event.ts +++ b/packages/types/src/primitive/Generic/Event.ts @@ -7,12 +7,12 @@ import { EventMetadataLatest } from '../../interfaces/metadata'; import { EventId } from '../../interfaces/system'; import { Constructor, Codec } from '../../types'; +import Metadata from '@polkadot/metadata/Metadata'; import { assert, isUndefined, stringCamelCase, u8aToHex } from '@polkadot/util'; import { getTypeClass, getTypeDef } from '../../codec/create'; import Struct from '../../codec/Struct'; import Tuple from '../../codec/Tuple'; -import Metadata from '../../Metadata'; import Null from '../Null'; const EventTypes: Record> = {}; @@ -110,6 +110,9 @@ export default class Event extends Struct { // This is called/injected by the API on init, allowing a snapshot of // the available system events to be used in lookups + // FIXME Should take the Decorated metadata (`import Metadata from '@polkadot/metadata'`) + // instead of the Codec Metadata + // https://github.com/polkadot-js/api/pull/1463#pullrequestreview-300618425 public static injectMetadata (metadata: Metadata): void { metadata.asLatest.modules .filter(({ events }): boolean => events.isSome) diff --git a/packages/types/src/primitive/StorageKey.spec.ts b/packages/types/src/primitive/StorageKey.spec.ts index e520d44339..85d2b700bf 100644 --- a/packages/types/src/primitive/StorageKey.spec.ts +++ b/packages/types/src/primitive/StorageKey.spec.ts @@ -4,26 +4,26 @@ import '../injector'; -import fromMetadata from '@polkadot/api-metadata/storage/fromMetadata'; +import Metadata from '@polkadot/metadata'; +import rpcDataV3 from '@polkadot/metadata/Metadata/v3/static'; +import rpcDataV4 from '@polkadot/metadata/Metadata/v4/static'; +import rpcDataV5 from '@polkadot/metadata/Metadata/v5/static'; +import rpcDataV6 from '@polkadot/metadata/Metadata/v6/static'; +import rpcDataV7 from '@polkadot/metadata/Metadata/v7/static'; +import rpcDataV8 from '@polkadot/metadata/Metadata/v8/static'; import { hexToU8a } from '@polkadot/util'; -import rpcDataV3 from '@polkadot/types/Metadata/v3/static'; -import rpcDataV4 from '@polkadot/types/Metadata/v4/static'; -import rpcDataV5 from '@polkadot/types/Metadata/v5/static'; -import rpcDataV6 from '@polkadot/types/Metadata/v6/static'; -import rpcDataV7 from '@polkadot/types/Metadata/v7/static'; -import rpcDataV8 from '@polkadot/types/Metadata/v8/static'; -import Metadata from '../Metadata'; import StorageKey from './StorageKey'; describe('StorageKey', (): void => { describe('with MetadataV3 (uses xxHash by default)', (): void => { - const storage = fromMetadata(new Metadata(rpcDataV3)); + const metadata = new Metadata(rpcDataV3); it('should correctly get Alice\'s freeBalance storage key (hex)', (): void => { expect( new StorageKey( - storage + metadata + .query .balances .freeBalance('5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY') ) @@ -34,7 +34,8 @@ describe('StorageKey', (): void => { it('should correctly get Alice\'s freeBalance storage key (u8a)', (): void => { expect( new StorageKey( - storage + metadata + .query .balances .freeBalance('5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY') ) @@ -47,12 +48,13 @@ describe('StorageKey', (): void => { }); describe('with MetadataV4 (uses xxHash by default)', (): void => { - const storage = fromMetadata(new Metadata(rpcDataV4)); + const metadata = new Metadata(rpcDataV4); it('should correctly get Alice\'s freeBalance storage key (hex)', (): void => { expect( new StorageKey( - storage + metadata + .query .balances .freeBalance('5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY') ) @@ -63,7 +65,8 @@ describe('StorageKey', (): void => { it('should correctly get Alice\'s freeBalance storage key (u8a)', (): void => { expect( new StorageKey( - storage + metadata + .query .balances .freeBalance('5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY') ) @@ -79,7 +82,8 @@ describe('StorageKey', (): void => { it('should correctly get the EventTopics double map storage key (hex)', (): void => { expect( new StorageKey([ - storage + metadata + .query .system .eventTopics, ['any', [1, 2, 3]] @@ -91,7 +95,8 @@ describe('StorageKey', (): void => { it('should correctly get the EventTopics double map storage key (u8a)', (): void => { expect( new StorageKey([ - storage + metadata + .query .system .eventTopics, ['any', [1, 2, 3]] @@ -102,12 +107,13 @@ describe('StorageKey', (): void => { }); describe('with MetadataV5', (): void => { - const storage = fromMetadata(new Metadata(rpcDataV5)); + const metadata = new Metadata(rpcDataV5); it('should correctly get the EventTopics double map storage key (hex)', (): void => { expect( new StorageKey([ - storage + metadata + .query .system .eventTopics, ['any', [1, 2, 3]] @@ -119,7 +125,8 @@ describe('StorageKey', (): void => { it('should correctly get the EventTopics double map storage key (u8a)', (): void => { expect( new StorageKey([ - storage + metadata + .query .system .eventTopics, ['any', [1, 2, 3]] @@ -130,12 +137,13 @@ describe('StorageKey', (): void => { }); describe('with MetadataV6', (): void => { - const storage = fromMetadata(new Metadata(rpcDataV6)); + const metadata = new Metadata(rpcDataV6); it('should correctly get the EventTopics double map storage key (hex)', (): void => { expect( new StorageKey([ - storage + metadata + .query .system .eventTopics, ['any', [1, 2, 3]] @@ -147,7 +155,8 @@ describe('StorageKey', (): void => { it('should correctly get the EventTopics double map storage key (u8a)', (): void => { expect( new StorageKey([ - storage + metadata + .query .system .eventTopics, ['any', [1, 2, 3]] @@ -158,12 +167,13 @@ describe('StorageKey', (): void => { }); describe('with MetadataV7', (): void => { - const storage = fromMetadata(new Metadata(rpcDataV7)); + const metadata = new Metadata(rpcDataV7); it('should correctly get the EventTopics double map storage key (hex)', (): void => { expect( new StorageKey([ - storage + metadata + .query .system .eventTopics, ['any', [1, 2, 3]] @@ -175,7 +185,8 @@ describe('StorageKey', (): void => { it('should correctly get the EventTopics double map storage key (u8a)', (): void => { expect( new StorageKey([ - storage + metadata + .query .system .eventTopics, ['any', [1, 2, 3]] @@ -186,12 +197,13 @@ describe('StorageKey', (): void => { }); describe('with MetadataV8', (): void => { - const storage = fromMetadata(new Metadata(rpcDataV8)); + const metadata = new Metadata(rpcDataV8); it('should correctly get the EventTopics double map storage key (hex)', (): void => { expect( new StorageKey([ - storage + metadata + .query .system .eventTopics, ['any', [1, 2, 3]] @@ -203,7 +215,8 @@ describe('StorageKey', (): void => { it('should correctly get the EventTopics double map storage key (u8a)', (): void => { expect( new StorageKey([ - storage + metadata + .query .system .eventTopics, ['any', [1, 2, 3]] diff --git a/packages/types/src/primitive/StorageKey.ts b/packages/types/src/primitive/StorageKey.ts index 3f298d5851..08a0d7e207 100644 --- a/packages/types/src/primitive/StorageKey.ts +++ b/packages/types/src/primitive/StorageKey.ts @@ -2,9 +2,9 @@ // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. +import { StorageEntryMetadata as MetaV8 } from '@polkadot/metadata/Metadata/v8/Storage'; import { assert, isFunction, isString, isU8a } from '@polkadot/util'; -import { StorageEntryMetadata as MetaV8 } from '../Metadata/v8/Storage'; import { AnyU8a } from '../types'; import Bytes from './Bytes'; diff --git a/packages/types/src/scripts/MetadataMd.ts b/packages/types/src/scripts/MetadataMd.ts index 9d1184a171..bf813e0b71 100644 --- a/packages/types/src/scripts/MetadataMd.ts +++ b/packages/types/src/scripts/MetadataMd.ts @@ -5,13 +5,13 @@ import '../injector'; import fs from 'fs'; +import Metadata from '@polkadot/metadata'; +import rpcdata from '@polkadot/metadata/Metadata/static'; +import MetadataV8, { ModuleMetadataV8 } from '@polkadot/metadata/Metadata/v8'; import { stringCamelCase, stringLowerFirst } from '@polkadot/util'; import interfaces from '../../../type-jsonrpc/src'; import Call from '../primitive/Generic/Call'; -import Metadata from '../Metadata'; -import rpcdata from '../Metadata/static'; -import MetadataV8, { ModuleMetadataV8 } from '../Metadata/v8'; const ANCHOR_TOP = ''; const LINK_BACK_TO_TOP = ''; @@ -237,7 +237,7 @@ function writeToEventsMd (metadata: MetadataV8): void { writeFile('docs/substrate/events.md', addEvents(metadata)); } -const metadata = new Metadata(rpcdata).asLatest; +const metadata = new Metadata(rpcdata).metadata.asLatest; writeToRpcMd(); writeToConstantsMd(metadata); diff --git a/packages/types/src/scripts/MetadataMdWrapper.js b/packages/types/src/scripts/MetadataMdWrapper.js index 1f624f428c..a3fd2cef67 100644 --- a/packages/types/src/scripts/MetadataMdWrapper.js +++ b/packages/types/src/scripts/MetadataMdWrapper.js @@ -9,7 +9,7 @@ require('@babel/register')({ plugins: [ ['module-resolver', { alias: { - '^@polkadot/api-metadata(.*)': './packages/api-metadata/src\\1', + '^@polkadot/metadata(.*)': './packages/metadata/src\\1', '^@polkadot/types(.*)': './packages/types/src\\1' } }] diff --git a/packages/types/src/scripts/extractChainWrapper.js b/packages/types/src/scripts/extractChainWrapper.js index fd49b94893..004a8e9351 100644 --- a/packages/types/src/scripts/extractChainWrapper.js +++ b/packages/types/src/scripts/extractChainWrapper.js @@ -10,7 +10,7 @@ require('@babel/register')({ ['module-resolver', { alias: { '^@polkadot/api-derive(.*)': './packages/api-derive/src\\1', - '^@polkadot/api-metadata(.*)': './packages/api-metadata/src\\1', + '^@polkadot/metadata(.*)': './packages/metadata/src\\1', '^@polkadot/api(.*)': './packages/api/src/\\1', '^@polkadot/jsonrpc(.*)': './packages/type-jsonrpc/src\\1', '^@polkadot/rpc-core(.*)': './packages/rpc-core/src\\1', diff --git a/packages/types/src/scripts/generateTypes/query.ts b/packages/types/src/scripts/generateTypes/query.ts index 8c0132a8e4..690bf564eb 100644 --- a/packages/types/src/scripts/generateTypes/query.ts +++ b/packages/types/src/scripts/generateTypes/query.ts @@ -3,12 +3,12 @@ // of the Apache-2.0 license. See the LICENSE file for details. import fs from 'fs'; +import { ModuleMetadataV8 } from '@polkadot/metadata/Metadata/v8/Metadata'; +import { StorageEntryMetadata } from '@polkadot/metadata/Metadata/v8/Storage'; +import staticData from '@polkadot/metadata/Metadata/static'; import { stringLowerFirst } from '@polkadot/util'; import { Metadata } from '../..'; -import { ModuleMetadataV8 } from '../../Metadata/v8/Metadata'; -import { StorageEntryMetadata } from '../../Metadata/v8/Storage'; -import staticData from '../../Metadata/static'; import { createImportCode, createImports, FOOTER, formatType, getSimilarTypes, HEADER, indent, setImports, TypeImports } from '../util'; // From a storage entry metadata, we return [args, returnType] diff --git a/packages/types/src/scripts/interfacesTsWrapper.js b/packages/types/src/scripts/interfacesTsWrapper.js index 79530f17a9..b3ab68eaab 100644 --- a/packages/types/src/scripts/interfacesTsWrapper.js +++ b/packages/types/src/scripts/interfacesTsWrapper.js @@ -9,7 +9,7 @@ require('@babel/register')({ plugins: [ ['module-resolver', { alias: { - '^@polkadot/api-metadata(.*)': './packages/api-metadata/src\\1', + '^@polkadot/metadata(.*)': './packages/metadata/src\\1', '^@polkadot/types(.*)': './packages/types/src\\1' } }] diff --git a/tsconfig.json b/tsconfig.json index 3275c8d7cf..0e4d58c5f3 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -14,8 +14,8 @@ "@polkadot/api-contract/*": ["packages/api-contract/src/*"], "@polkadot/api-derive": ["packages/api-derive/src"], "@polkadot/api-derive/*": ["packages/api-derive/src/*"], - "@polkadot/api-metadata": ["packages/api-metadata/src"], - "@polkadot/api-metadata/*": ["packages/api-metadata/src/*"], + "@polkadot/metadata": ["packages/metadata/src"], + "@polkadot/metadata/*": ["packages/metadata/src/*"], "@polkadot/rpc-core": ["packages/rpc-core/src"], "@polkadot/rpc-core/*": ["packages/rpc-core/src/*"], "@polkadot/rpc-provider": ["packages/rpc-provider/src"],