diff --git a/CHANGELOG.md b/CHANGELOG.md index 024eefcf84..a673220613 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,12 +3,12 @@ - **Breaking change** The `ContractsAbi` type has been moved from `@polkadot/types` to `import { Abi } from '@polkadot/api-contract`. This paves the way for an enhanced contracts interface, instead of dealing with low-level API calls. - **Breaking change** `usize` is now a blacklisted type that will throw on construction. Since it is platform-specific, it creates incompatibilities between native (generally u64) and WASM (always u32) code. Use one of the `u32` or `u64` types explicitly. - **Breaking change** `api.derive.contract` is now `api.derive.contracts` to align with the substrate 2.x rename. (Feture detection is used so it supports both 1.x and 2.x chains) -- **Breaking change** The api now uses the module name instead of the prefix to generate the storage methods. The methods of the grandpa module changed from `api.query.grandpaFinality` to `api.query.grandpa`. +- **Breaking change** The api now uses the module name instead of the prefix to generate the storage methods. The methods of the grandpa module changed from `api.query.grandpaFinality` to `api.query.grandpa`. - Update with latest substrate 2.x types - **Breaking Change** StorageFunction has been renamed to StorageEntry. -- **Breaking Change** Vote interface extends U8a instead of I8. Vote properties can be accessed via the `isAye`, `isNay`, and `conviction` getters. -Votes can still be constructed as before with a raw JS boolean, a SCALE encoded Boolean, an i8 number, or a JS object with properties `aye` and `conviction` defined. -- Support latest substrate 2.x v6 metadata with module constants. +- **Breaking Change** `@polkadot/extrinsics` and `@polkadot/storage` have been moved to `@polkadot/api-metadata` and are now accessible as `@polkadot/api-metadata/extrinsics` and `@polkadot/api-metadata/storage`, respectively. +- **Breaking Change** Vote interface extends U8a instead of I8. Vote properties can be accessed via the `isAye`, `isNay`, and `conviction` getters. Votes can still be constructed as before with a raw JS boolean, a SCALE encoded Boolean, an i8 number, or a JS object with properties `aye` and `conviction` defined. +- Support latest substrate 2.x v6 metadata with module constants using `api.consts`. # 0.81.1 diff --git a/README.md b/README.md index 9cc1b32a95..cb9dc553ba 100644 --- a/README.md +++ b/README.md @@ -21,14 +21,13 @@ The API is split up into a number of internal packages - - [@polkadot/api](packages/api/) The API library, providing both Promise and RxJS Observable-based interfaces. This is the main user-facing entry point. - [@polkadot/api-derive](packages/api-derive/) Derived results that are injected into the API, allowing for combinations of various query results (only used internally and exposed on the Api instances via `api.derive.*`) +- [@polkadot/api-metadata](packages/api-metadata/) Base extrinsic, storage and constant injectors for injection - [@polkadot/rpc-core](packages/rpc-core/) Wrapper around all [JSON-RPC methods](https://polkadot.js.org/api/METHODS_RPC.html) exposed by a Polkadot network client - [@polkadot/rpc-provider](packages/rpc-provider/) Providers for connecting to nodes, including WebSockets and Http Type definitions for interfaces as exposed by Polkadot & Substrate clients - -- [@polkadot/extrinsics](packages/type-extrinsics/) Base extrinsic definitions & codecs - [@polkadot/jsonrpc](packages/type-jsonrpc/) Definitions for JSONRPC endpoints -- [@polkadot/storage](packages/type-storage/) Definitions for storage entries - [@polkadot/types](packages/types/) Codecs for all Polkadot and Substrate primitives ## development diff --git a/jest.config.js b/jest.config.js index abfe5aec2e..256b5811ed 100644 --- a/jest.config.js +++ b/jest.config.js @@ -4,22 +4,20 @@ 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/rpc-(core|provider)(.*)$': '/packages/rpc-$1/src/$2', - '@polkadot/extrinsics(.*)$': '/packages/type-extrinsics/src/$1', '@polkadot/jsonrpc(.*)$': '/packages/type-jsonrpc/src/$1', - '@polkadot/storage(.*)$': '/packages/type-storage/src/$1', '@polkadot/types(.*)$': '/packages/types/src/$1' }, modulePathIgnorePatterns: [ '/packages/api/build', '/packages/api-derive/build', '/packages/api-contract/build', + '/packages/api-metadata/build', '/packages/rpc-core/build', '/packages/rpc-provider/build', - '/packages/type-extrinsics/build', '/packages/type-jsonrpc/build', - '/packages/type-storage/build/', '/packages/types/build' ] }); diff --git a/packages/api-derive/src/index.spec.ts b/packages/api-derive/src/index.spec.ts index adc84c6d3e..3c001b0512 100644 --- a/packages/api-derive/src/index.spec.ts +++ b/packages/api-derive/src/index.spec.ts @@ -25,7 +25,9 @@ const testFunction = (api: ApiRx) => { }; }; -describe('derive', () => { +// https://github.com/polkadot-js/api/pull/1066#issuecomment-509142048 +// https://github.com/polkadot-js/api/issues/1064 +describe.skip('derive', () => { describe('builtin', () => { const api = new ApiRx(new MockProvider()); diff --git a/packages/type-extrinsics/LICENSE b/packages/api-metadata/LICENSE similarity index 100% rename from packages/type-extrinsics/LICENSE rename to packages/api-metadata/LICENSE diff --git a/packages/api-metadata/README.md b/packages/api-metadata/README.md new file mode 100644 index 0000000000..7391c59d3c --- /dev/null +++ b/packages/api-metadata/README.md @@ -0,0 +1 @@ +# @polkadot/api-metadata \ No newline at end of file diff --git a/packages/type-storage/package.json b/packages/api-metadata/package.json similarity index 86% rename from packages/type-storage/package.json rename to packages/api-metadata/package.json index a155e39463..afc44ab5c3 100644 --- a/packages/type-storage/package.json +++ b/packages/api-metadata/package.json @@ -1,7 +1,7 @@ { - "name": "@polkadot/storage", + "name": "@polkadot/api-metadata", "version": "0.82.0-beta.33", - "description": "Generic wrapper wrapper around state storage", + "description": "Helpers to extract information from runtime metadata", "main": "index.js", "publishConfig": { "access": "public", @@ -24,7 +24,7 @@ "bugs": { "url": "https://github.com/polkadot-js/api/issues" }, - "homepage": "https://github.com/polkadot-js/api/tree/master/packages/type-storage#readme", + "homepage": "https://github.com/polkadot-js/api/tree/master/packages/type-metadata#readme", "dependencies": { "@babel/runtime": "^7.5.0", "@polkadot/types": "^0.82.0-beta.33", diff --git a/packages/api-metadata/src/consts/README.md b/packages/api-metadata/src/consts/README.md new file mode 100644 index 0000000000..b326749a66 --- /dev/null +++ b/packages/api-metadata/src/consts/README.md @@ -0,0 +1,3 @@ +# @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/fromMetadata/fromMetadata.spec.ts b/packages/api-metadata/src/consts/fromMetadata/fromMetadata.spec.ts new file mode 100644 index 0000000000..1934488cf2 --- /dev/null +++ b/packages/api-metadata/src/consts/fromMetadata/fromMetadata.spec.ts @@ -0,0 +1,19 @@ +// 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, BlockNumber } from '@polkadot/types'; +import json from '@polkadot/types/Metadata/v6/static'; + +import fromMetadata from '../fromMetadata'; + +// Use the pre-generated metadata +const metadata = new Metadata(json); +const consts = fromMetadata(metadata); + +describe('fromMetadata', () => { + it('should return constants with the correct type and value', () => { + expect(consts.democracy.cooloffPeriod).toBeInstanceOf(BlockNumber); + expect(consts.democracy.cooloffPeriod.eq(432000)).toBeTruthy(); + }); +}); diff --git a/packages/api-metadata/src/consts/fromMetadata/index.ts b/packages/api-metadata/src/consts/fromMetadata/index.ts new file mode 100644 index 0000000000..d90442c89c --- /dev/null +++ b/packages/api-metadata/src/consts/fromMetadata/index.ts @@ -0,0 +1,32 @@ +// 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 { createType } from '@polkadot/types'; +import Metadata from '@polkadot/types/Metadata'; +import { stringCamelCase } from '@polkadot/util'; + +import { Constants, ModuleConstants } from './types'; + +/** + * Retrieve the parameter types (module constants) from the runtime metadata. + * + * @param metadata - The metadata + */ +export default function fromMetadata (metadata: Metadata): Constants { + return metadata.asV6.modules.reduce((result, moduleMetadata) => { + if (moduleMetadata.constants.isEmpty) { + return result; + } + + const { name } = moduleMetadata; + + // For access, we change the index names, i.e. Democracy.EnactmentPeriod -> democracy.enactmentPeriod + result[stringCamelCase(name.toString())] = moduleMetadata.constants.reduce((newModule, constantMeta) => { + newModule[stringCamelCase(constantMeta.name.toString())] = createType(constantMeta.type, constantMeta.value); + return newModule; + }, {} as ModuleConstants); + + return result; + }, { } as Constants); +} diff --git a/packages/api-metadata/src/consts/fromMetadata/types.ts b/packages/api-metadata/src/consts/fromMetadata/types.ts new file mode 100644 index 0000000000..0e14ac0b69 --- /dev/null +++ b/packages/api-metadata/src/consts/fromMetadata/types.ts @@ -0,0 +1,13 @@ +// 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 { Codec } from '@polkadot/types/types'; + +export interface ModuleConstants { + [key: string]: Codec; +} + +export interface Constants { + [key: string]: ModuleConstants; // Will hold modules returned by state_getMetadata +} diff --git a/packages/type-storage/src/static.ts b/packages/api-metadata/src/consts/static.ts similarity index 83% rename from packages/type-storage/src/static.ts rename to packages/api-metadata/src/consts/static.ts index 99a58d82aa..81737d0ecd 100644 --- a/packages/type-storage/src/static.ts +++ b/packages/api-metadata/src/consts/static.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/storage authors & contributors +// 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. diff --git a/packages/api-metadata/src/extrinsics/README.md b/packages/api-metadata/src/extrinsics/README.md new file mode 100644 index 0000000000..410c719296 --- /dev/null +++ b/packages/api-metadata/src/extrinsics/README.md @@ -0,0 +1,3 @@ +# @polkadot/api-metadata/extrinsics + +Base extrinsic definitions & codecs \ No newline at end of file diff --git a/packages/type-extrinsics/src/fromMetadata/createUnchecked.ts b/packages/api-metadata/src/extrinsics/fromMetadata/createUnchecked.ts similarity index 95% rename from packages/type-extrinsics/src/fromMetadata/createUnchecked.ts rename to packages/api-metadata/src/extrinsics/fromMetadata/createUnchecked.ts index 57e22e206c..17131eea5a 100644 --- a/packages/type-extrinsics/src/fromMetadata/createUnchecked.ts +++ b/packages/api-metadata/src/extrinsics/fromMetadata/createUnchecked.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/extrinsics authors & contributors +// 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. diff --git a/packages/type-extrinsics/src/fromMetadata/fromMetadata.spec.ts b/packages/api-metadata/src/extrinsics/fromMetadata/fromMetadata.spec.ts similarity index 94% rename from packages/type-extrinsics/src/fromMetadata/fromMetadata.spec.ts rename to packages/api-metadata/src/extrinsics/fromMetadata/fromMetadata.spec.ts index 837c14b357..bfe00ca771 100644 --- a/packages/type-extrinsics/src/fromMetadata/fromMetadata.spec.ts +++ b/packages/api-metadata/src/extrinsics/fromMetadata/fromMetadata.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/extrinsics authors & contributors +// 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. diff --git a/packages/type-extrinsics/src/fromMetadata/index.ts b/packages/api-metadata/src/extrinsics/fromMetadata/index.ts similarity index 78% rename from packages/type-extrinsics/src/fromMetadata/index.ts rename to packages/api-metadata/src/extrinsics/fromMetadata/index.ts index 74ad549d22..4045706f44 100644 --- a/packages/type-extrinsics/src/fromMetadata/index.ts +++ b/packages/api-metadata/src/extrinsics/fromMetadata/index.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/extrinsics authors & contributors +// 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. @@ -11,11 +11,9 @@ import extrinsics from '../'; import createUnchecked from './createUnchecked'; /** - * Extend a storage object with the storage modules & module functions present - * in the metadata. + * Return an object with the modules and the functions to use extrinsics. * - * @param extrinsics - An extrinsics object to be extended. - * @param metadata - The metadata to extend the storage object against. + * @param metadata - The metadata */ export default function fromMetadata (metadata: Metadata): ModulesWithMethods { return metadata.asV6.modules diff --git a/packages/type-extrinsics/src/index.spec.ts b/packages/api-metadata/src/extrinsics/index.spec.ts similarity index 96% rename from packages/type-extrinsics/src/index.spec.ts rename to packages/api-metadata/src/extrinsics/index.spec.ts index 1f16549d99..c478e82f9a 100644 --- a/packages/type-extrinsics/src/index.spec.ts +++ b/packages/api-metadata/src/extrinsics/index.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/extrinsics authors & contributors +// 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. diff --git a/packages/type-extrinsics/src/index.ts b/packages/api-metadata/src/extrinsics/index.ts similarity index 79% rename from packages/type-extrinsics/src/index.ts rename to packages/api-metadata/src/extrinsics/index.ts index a76a3e64eb..4a4691f7b1 100644 --- a/packages/type-extrinsics/src/index.ts +++ b/packages/api-metadata/src/extrinsics/index.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/extrinsics authors & contributors +// 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. diff --git a/packages/type-extrinsics/src/static.ts b/packages/api-metadata/src/extrinsics/static.ts similarity index 87% rename from packages/type-extrinsics/src/static.ts rename to packages/api-metadata/src/extrinsics/static.ts index f2cad74312..c4c812fe53 100644 --- a/packages/type-extrinsics/src/static.ts +++ b/packages/api-metadata/src/extrinsics/static.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/extrinsics authors & contributors +// 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. diff --git a/packages/type-extrinsics/test/e2e/transfer.spec.ts b/packages/api-metadata/src/extrinsics/test/e2e/transfer.spec.ts similarity index 91% rename from packages/type-extrinsics/test/e2e/transfer.spec.ts rename to packages/api-metadata/src/extrinsics/test/e2e/transfer.spec.ts index 3420200316..1c5b9db509 100644 --- a/packages/type-extrinsics/test/e2e/transfer.spec.ts +++ b/packages/api-metadata/src/extrinsics/test/e2e/transfer.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/extrinsics authors & contributors +// 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. @@ -8,12 +8,12 @@ import Rpc from '@polkadot/rpc-core'; import WsProvider from '@polkadot/rpc-provider/ws'; import testingPairs from '@polkadot/keyring/testingPairs'; -import extrinsics from './../../src/static'; +import extrinsics from './../../static'; const keyring = testingPairs({ type: 'ed25519' }); // @TODO 1: All three tests below are broken, fix or find better way to test transfers. -// @TODO 2: Move tests out of ./type-extrinsics to ./api folder +// @TODO 2: Move tests out of ./type-metadata to ./api folder describe.skip('e2e transfer', () => { let api: RpcInterface; diff --git a/packages/api-metadata/src/storage/README.md b/packages/api-metadata/src/storage/README.md new file mode 100644 index 0000000000..5234c07ecd --- /dev/null +++ b/packages/api-metadata/src/storage/README.md @@ -0,0 +1,3 @@ +# @polkadot/api-metadata/storage + +A base interface to the storage layer \ No newline at end of file diff --git a/packages/type-storage/src/fromMetadata/createFunction.spec.ts b/packages/api-metadata/src/storage/fromMetadata/createFunction.spec.ts similarity index 98% rename from packages/type-storage/src/fromMetadata/createFunction.spec.ts rename to packages/api-metadata/src/storage/fromMetadata/createFunction.spec.ts index bf7d87e6d9..ebfde0cec1 100644 --- a/packages/type-storage/src/fromMetadata/createFunction.spec.ts +++ b/packages/api-metadata/src/storage/fromMetadata/createFunction.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/storage authors & contributors +// 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. diff --git a/packages/type-storage/src/fromMetadata/createFunction.ts b/packages/api-metadata/src/storage/fromMetadata/createFunction.ts similarity index 98% rename from packages/type-storage/src/fromMetadata/createFunction.ts rename to packages/api-metadata/src/storage/fromMetadata/createFunction.ts index 22d60a76df..195f237377 100644 --- a/packages/type-storage/src/fromMetadata/createFunction.ts +++ b/packages/api-metadata/src/storage/fromMetadata/createFunction.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/storage authors & contributors +// 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. diff --git a/packages/type-storage/src/fromMetadata/fromMetadata.spec.ts b/packages/api-metadata/src/storage/fromMetadata/fromMetadata.spec.ts similarity index 90% rename from packages/type-storage/src/fromMetadata/fromMetadata.spec.ts rename to packages/api-metadata/src/storage/fromMetadata/fromMetadata.spec.ts index 1d60d3b1d7..fb66bb04d6 100644 --- a/packages/type-storage/src/fromMetadata/fromMetadata.spec.ts +++ b/packages/api-metadata/src/storage/fromMetadata/fromMetadata.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/storage authors & contributors +// 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. @@ -7,7 +7,7 @@ import { Metadata } from '@polkadot/types'; import json from '@polkadot/types/Metadata/v6/static'; import { u8aToHex } from '@polkadot/util'; -import fromMetadata from './'; +import fromMetadata from '../fromMetadata'; const keyring = testingPairs({ type: 'ed25519' }); // Use the pre-generated metadata diff --git a/packages/type-storage/src/fromMetadata/getHasher.ts b/packages/api-metadata/src/storage/fromMetadata/getHasher.ts similarity index 94% rename from packages/type-storage/src/fromMetadata/getHasher.ts rename to packages/api-metadata/src/storage/fromMetadata/getHasher.ts index c050b5a1e5..07901ba460 100644 --- a/packages/type-storage/src/fromMetadata/getHasher.ts +++ b/packages/api-metadata/src/storage/fromMetadata/getHasher.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/storage authors & contributors +// 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. diff --git a/packages/type-storage/src/fromMetadata/index.ts b/packages/api-metadata/src/storage/fromMetadata/index.ts similarity index 79% rename from packages/type-storage/src/fromMetadata/index.ts rename to packages/api-metadata/src/storage/fromMetadata/index.ts index 58941e6d6b..f9137363ee 100644 --- a/packages/type-storage/src/fromMetadata/index.ts +++ b/packages/api-metadata/src/storage/fromMetadata/index.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/storage authors & contributors +// 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. @@ -11,11 +11,9 @@ import createFunction from './createFunction'; import { storage } from './storage'; /** - * Extend a storage object with the storage modules & module functions present - * in the metadata. + * Return an object with the modules and the functions to access their storage. * - * @param storage - A storage object to be extended. - * @param metadata - The metadata to extend the storage object against. + * @param metadata - The metadata */ export default function fromMetadata (metadata: Metadata): Storage { return metadata.asV6.modules.reduce((result, moduleMetadata) => { diff --git a/packages/type-storage/src/fromMetadata/storage.spec.ts b/packages/api-metadata/src/storage/fromMetadata/storage.spec.ts similarity index 92% rename from packages/type-storage/src/fromMetadata/storage.spec.ts rename to packages/api-metadata/src/storage/fromMetadata/storage.spec.ts index c44b218e23..af7971c285 100644 --- a/packages/type-storage/src/fromMetadata/storage.spec.ts +++ b/packages/api-metadata/src/storage/fromMetadata/storage.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/storage authors & contributors +// 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. diff --git a/packages/type-storage/src/fromMetadata/storage.ts b/packages/api-metadata/src/storage/fromMetadata/storage.ts similarity index 82% rename from packages/type-storage/src/fromMetadata/storage.ts rename to packages/api-metadata/src/storage/fromMetadata/storage.ts index a81b703a9f..fbb8974f25 100644 --- a/packages/type-storage/src/fromMetadata/storage.ts +++ b/packages/api-metadata/src/storage/fromMetadata/storage.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/storage authors & contributors +// 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. diff --git a/packages/type-storage/src/fromMetadata/substrate.spec.ts b/packages/api-metadata/src/storage/fromMetadata/substrate.spec.ts similarity index 96% rename from packages/type-storage/src/fromMetadata/substrate.spec.ts rename to packages/api-metadata/src/storage/fromMetadata/substrate.spec.ts index fe9576891a..5b219ec63f 100644 --- a/packages/type-storage/src/fromMetadata/substrate.spec.ts +++ b/packages/api-metadata/src/storage/fromMetadata/substrate.spec.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/storage authors & contributors +// 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. diff --git a/packages/type-storage/src/fromMetadata/substrate.ts b/packages/api-metadata/src/storage/fromMetadata/substrate.ts similarity index 97% rename from packages/type-storage/src/fromMetadata/substrate.ts rename to packages/api-metadata/src/storage/fromMetadata/substrate.ts index 4e0343d333..f4a26ee87d 100644 --- a/packages/type-storage/src/fromMetadata/substrate.ts +++ b/packages/api-metadata/src/storage/fromMetadata/substrate.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/storage authors & contributors +// 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. diff --git a/packages/type-storage/src/index.ts b/packages/api-metadata/src/storage/index.ts similarity index 74% rename from packages/type-storage/src/index.ts rename to packages/api-metadata/src/storage/index.ts index eadcbca96f..fe2d733515 100644 --- a/packages/type-storage/src/index.ts +++ b/packages/api-metadata/src/storage/index.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/storage authors & contributors +// 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. diff --git a/packages/api-metadata/src/storage/static.ts b/packages/api-metadata/src/storage/static.ts new file mode 100644 index 0000000000..81737d0ecd --- /dev/null +++ b/packages/api-metadata/src/storage/static.ts @@ -0,0 +1,12 @@ +// 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/v6/static'; + +import fromMetadata from './fromMetadata'; + +export default fromMetadata( + new Metadata(metadataRpc) +); diff --git a/packages/type-storage/src/types.ts b/packages/api-metadata/src/storage/types.ts similarity index 86% rename from packages/type-storage/src/types.ts rename to packages/api-metadata/src/storage/types.ts index 08f4a82aaa..8816308f58 100644 --- a/packages/type-storage/src/types.ts +++ b/packages/api-metadata/src/storage/types.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/storage authors & contributors +// 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. diff --git a/packages/api/package.json b/packages/api/package.json index 4c0c0d5d88..d7b70568ed 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -28,10 +28,9 @@ "dependencies": { "@babel/runtime": "^7.5.0", "@polkadot/api-derive": "^0.82.0-beta.33", - "@polkadot/extrinsics": "^0.82.0-beta.33", + "@polkadot/api-metadata": "^0.82.0-beta.33", "@polkadot/rpc-core": "^0.82.0-beta.33", "@polkadot/rpc-provider": "^0.82.0-beta.33", - "@polkadot/storage": "^0.82.0-beta.33", "@polkadot/types": "^0.82.0-beta.33", "@polkadot/util-crypto": "^0.94.0-beta.5" }, diff --git a/packages/api/src/Base.ts b/packages/api/src/Base.ts index f6d97a983d..c60183a3af 100644 --- a/packages/api/src/Base.ts +++ b/packages/api/src/Base.ts @@ -3,7 +3,6 @@ // of the Apache-2.0 license. See the LICENSE file for details. import { ProviderInterface } from '@polkadot/rpc-provider/types'; -import { Storage } from '@polkadot/storage/types'; import { AnyFunction, Codec, CodecArg, RegistryTypes } from '@polkadot/types/types'; import { ApiInterface$Rx, ApiInterface$Events, ApiOptions, ApiTypes, DecorateMethodOptions, @@ -16,10 +15,13 @@ import EventEmitter from 'eventemitter3'; import { BehaviorSubject, Observable } from 'rxjs'; import { map, switchMap } from 'rxjs/operators'; import decorateDerive from '@polkadot/api-derive'; -import extrinsicsFromMeta from '@polkadot/extrinsics/fromMetadata'; +import constantsFromMeta from '@polkadot/api-metadata/consts/fromMetadata'; +import { Constants } from '@polkadot/api-metadata/consts/fromMetadata/types'; +import extrinsicsFromMeta from '@polkadot/api-metadata/extrinsics/fromMetadata'; +import { Storage } from '@polkadot/api-metadata/storage/types'; +import storageFromMeta from '@polkadot/api-metadata/storage/fromMetadata'; import RpcCore from '@polkadot/rpc-core'; import { WsProvider } from '@polkadot/rpc-provider'; -import storageFromMeta from '@polkadot/storage/fromMetadata'; import { Event, getTypeRegistry, Hash, Metadata, Method, RuntimeVersion, Null, VectorAny } from '@polkadot/types'; import Linkage, { LinkageResult } from '@polkadot/types/codec/Linkage'; import { MethodFunction, ModulesWithMethods } from '@polkadot/types/primitive/Method'; @@ -62,6 +64,7 @@ function rxDecorateMethod (method: Method): Method { } export default abstract class ApiBase { + private _consts?: Constants; private _derive?: ReturnType['decorateDerive']>; private _eventemitter: EventEmitter; private _extrinsics?: SubmittableExtrinsics; @@ -199,6 +202,24 @@ export default abstract class ApiBase { return this._derive as ReturnType['decorateDerive']>; } + /** + * @description Contains the parameter types (constants) of all modules. + * + * The values are instances of the appropriate type and are accessible using `section`.`constantName`, + * + * @example + *
+ * + * ```javascript + * console.log(api.consts.democracy.enactmentPeriod.toString()) + * ``` + */ + get consts (): Constants { + assert(!isUndefined(this._consts), INIT_ERROR); + + return this._consts as Constants; + } + /** * @description Contains all the chain state modules and their subsequent methods in the API. These are attached dynamically from the runtime metadata. * @@ -229,7 +250,7 @@ export default abstract class ApiBase { * api.queryMulti( * [ * // you can include the storage without any parameters - * api.query.balances.existentialDeposit, + * api.query.balances.totalIssuance, * // or you can pass parameters to the storage query * [api.query.balances.freeBalance, '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY'] * ], @@ -473,14 +494,17 @@ export default abstract class ApiBase { const extrinsics = extrinsicsFromMeta(this.runtimeMetadata); const storage = storageFromMeta(this.runtimeMetadata); + const constants = constantsFromMeta(this.runtimeMetadata); this._extrinsics = this.decorateExtrinsics(extrinsics, this.decorateMethod); this._query = this.decorateStorage(storage, this.decorateMethod); + this._consts = constants; this._rx.genesisHash = this._genesisHash; this._rx.runtimeVersion = this._runtimeVersion; this._rx.tx = this.decorateExtrinsics(extrinsics, rxDecorateMethod); this._rx.query = this.decorateStorage(storage, rxDecorateMethod); + this._rx.consts = constants; this._derive = this.decorateDerive(this._rx as ApiInterface$Rx, this.decorateMethod); // only inject if we are not a clone (global init) diff --git a/packages/api/src/types.ts b/packages/api/src/types.ts index 6cc2f9da13..76143f0fb9 100644 --- a/packages/api/src/types.ts +++ b/packages/api/src/types.ts @@ -4,6 +4,7 @@ import { Observable } from 'rxjs'; import { DeriveCustom } from '@polkadot/api-derive'; +import { Constants } from '@polkadot/api-metadata/consts/fromMetadata/types'; import { ProviderInterface, ProviderInterface$Emitted } from '@polkadot/rpc-provider/types'; import { Hash, RuntimeVersion, u64 as U64 } from '@polkadot/types'; import { AnyFunction, Callback, Codec, CodecArg, IExtrinsic, RegistryTypes, SignatureOptions } from '@polkadot/types/types'; @@ -194,6 +195,7 @@ export interface ApiOptions { // A smaller interface of ApiRx, used in derive and in SubmittableExtrinsic export interface ApiInterface$Rx { + consts: Constants; genesisHash: Hash; hasSubscriptions: boolean; runtimeMetadata: Metadata; diff --git a/packages/api/test/e2e/promise-consts.spec.ts b/packages/api/test/e2e/promise-consts.spec.ts new file mode 100644 index 0000000000..c18afd4ff5 --- /dev/null +++ b/packages/api/test/e2e/promise-consts.spec.ts @@ -0,0 +1,25 @@ +// Copyright 2017-2019 @polkadot/api 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 WsProvider from '@polkadot/rpc-provider/ws'; +import { ApiPromise } from '@polkadot/api'; +import { BlockNumber } from '@polkadot/types'; + +describe.skip('e2e consts', () => { + let api: ApiPromise; + + beforeAll(() => { + api = new ApiPromise(new WsProvider('ws://127.0.0.1:9944')); + return api.isReady; + }); + + beforeEach(() => { + jest.setTimeout(30000); + }); + + it('democracy.cooloffPeriod parameter type', () => { + expect(api.consts.democracy.cooloffPeriod).toBeInstanceOf(BlockNumber); + expect(api.consts.democracy.cooloffPeriod.eq(432000)).toBeTruthy(); + }); +}); diff --git a/packages/rpc-core/src/formatting.spec.ts b/packages/rpc-core/src/formatting.spec.ts index 421ea162c8..3f2df631bd 100644 --- a/packages/rpc-core/src/formatting.spec.ts +++ b/packages/rpc-core/src/formatting.spec.ts @@ -4,8 +4,8 @@ import BN from 'bn.js'; -import fromMetadata from '@polkadot/storage/fromMetadata'; -import { Storage } from '@polkadot/storage/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'; diff --git a/packages/rpc-core/test/e2e/alexander.spec.ts b/packages/rpc-core/test/e2e/alexander.spec.ts index b276a6c2ac..d1acd7f67c 100644 --- a/packages/rpc-core/test/e2e/alexander.spec.ts +++ b/packages/rpc-core/test/e2e/alexander.spec.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 { BlockNumber, Index, SignedBlock, StorageChangeSet } from '@polkadot/types'; -import storage from '@polkadot/storage/static'; +import storage from '@polkadot/api-metadata/storage/static'; import WsProvider from '@polkadot/rpc-provider/ws'; +import { BlockNumber, Index, SignedBlock, StorageChangeSet } from '@polkadot/types'; import Rpc from '../../src'; diff --git a/packages/rpc-core/test/e2e/state.spec.ts b/packages/rpc-core/test/e2e/state.spec.ts index a7885fca5a..8663393a84 100644 --- a/packages/rpc-core/test/e2e/state.spec.ts +++ b/packages/rpc-core/test/e2e/state.spec.ts @@ -7,11 +7,11 @@ import path from 'path'; import { SubmittableResult } from '@polkadot/api'; import ApiPromise from '@polkadot/api/promise/Api'; +import storage from '@polkadot/api-metadata/storage/static'; import { Abi } from '@polkadot/api-contract'; import testingPairs from '@polkadot/keyring/testingPairs'; import { KeyringPair } from '@polkadot/keyring/types'; import WsProvider from '@polkadot/rpc-provider/ws'; -import storage from '@polkadot/storage/static'; import { Balance, Bytes, Hash, Metadata, Moment, StorageData, StorageKey } from '@polkadot/types'; import Rpc from '../../src'; diff --git a/packages/rpc-core/test/e2e/subscribe.spec.ts b/packages/rpc-core/test/e2e/subscribe.spec.ts index 281b18d800..82a88faa97 100644 --- a/packages/rpc-core/test/e2e/subscribe.spec.ts +++ b/packages/rpc-core/test/e2e/subscribe.spec.ts @@ -4,7 +4,7 @@ import { StorageChangeSet } from '@polkadot/types'; import WsProvider from '@polkadot/rpc-provider/ws'; -import storage from '@polkadot/storage/static'; +import storage from '@polkadot/api-metadata/storage/static'; import Rpc from '../../src'; diff --git a/packages/rpc-provider/package.json b/packages/rpc-provider/package.json index 6278788f31..91e98a65aa 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.5.0", - "@polkadot/storage": "^0.82.0-beta.33", + "@polkadot/api-metadata": "^0.82.0-beta.33", "@polkadot/util": "^0.94.0-beta.5", "@polkadot/util-crypto": "^0.94.0-beta.5", "@types/nock": "^10.0.3", diff --git a/packages/rpc-provider/src/mock/index.ts b/packages/rpc-provider/src/mock/index.ts index 6a62466769..fd60096e58 100644 --- a/packages/rpc-provider/src/mock/index.ts +++ b/packages/rpc-provider/src/mock/index.ts @@ -9,7 +9,7 @@ import BN from 'bn.js'; import EventEmitter from 'eventemitter3'; import interfaces from '@polkadot/jsonrpc'; import testKeyring from '@polkadot/keyring/testing'; -import storage from '@polkadot/storage/static'; +import storage from '@polkadot/api-metadata/storage/static'; import { Codec } from '@polkadot/types/types'; import rpcMetadataV6 from '@polkadot/types/Metadata/v6/static'; import { Header, RuntimeVersion } from '@polkadot/types'; diff --git a/packages/type-extrinsics/README.md b/packages/type-extrinsics/README.md deleted file mode 100644 index 8b7156f966..0000000000 --- a/packages/type-extrinsics/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# @polkadot/extrinsics - -Base extrinsic definitions & codecs - -## Classes - -[Classes](SUMMARY.md) diff --git a/packages/type-extrinsics/package.json b/packages/type-extrinsics/package.json deleted file mode 100644 index f5f5d9c334..0000000000 --- a/packages/type-extrinsics/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "@polkadot/extrinsics", - "version": "0.82.0-beta.33", - "main": "index.js", - "repository": "https://github.com/polkadot-js/api.git", - "author": "Jaco Greeff ", - "maintainers": [ - "Jaco Greeff " - ], - "contributors": [], - "license": "Apache-2.0", - "dependencies": { - "@babel/runtime": "^7.5.0", - "@polkadot/types": "^0.82.0-beta.33", - "@polkadot/util": "^0.94.0-beta.5" - } -} diff --git a/packages/type-storage/LICENSE b/packages/type-storage/LICENSE deleted file mode 100644 index 0d381b2e97..0000000000 --- a/packages/type-storage/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/packages/type-storage/README.md b/packages/type-storage/README.md deleted file mode 100644 index 031d51ddc8..0000000000 --- a/packages/type-storage/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# @polkadot/storage - -An base interface to the storage layer - -## Classes - -[Classes](SUMMARY.md) diff --git a/packages/types/src/Metadata/util/testUtil.ts b/packages/types/src/Metadata/util/testUtil.ts index 49bbde7dd0..0016af7bdc 100644 --- a/packages/types/src/Metadata/util/testUtil.ts +++ b/packages/types/src/Metadata/util/testUtil.ts @@ -2,7 +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 extrinsicsFromMeta from '@polkadot/extrinsics/fromMetadata'; +import extrinsicsFromMeta from '@polkadot/api-metadata/extrinsics/fromMetadata'; import createType from '../../codec/createType'; import Metadata from '../Metadata'; diff --git a/packages/types/src/codec/Tuple.spec.ts b/packages/types/src/codec/Tuple.spec.ts index a981881d85..0d83ccc192 100644 --- a/packages/types/src/codec/Tuple.spec.ts +++ b/packages/types/src/codec/Tuple.spec.ts @@ -2,7 +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 extrinsics from '@polkadot/extrinsics/static'; +import extrinsics from '@polkadot/api-metadata/extrinsics/static'; import { CodecTo } from '../types'; import Method from '../primitive/Method'; diff --git a/packages/types/src/codec/Vector.spec.ts b/packages/types/src/codec/Vector.spec.ts index 0a552497ed..b9c8ba0679 100644 --- a/packages/types/src/codec/Vector.spec.ts +++ b/packages/types/src/codec/Vector.spec.ts @@ -4,7 +4,7 @@ import { Codec, CodecTo } from '../types'; -import extrinsics from '@polkadot/extrinsics/static'; +import extrinsics from '@polkadot/api-metadata/extrinsics/static'; import AccountId from '../primitive/AccountId'; import Method from '../primitive/Method'; diff --git a/packages/types/src/index.spec.ts b/packages/types/src/index.spec.ts index cf60f90483..2e234d8c46 100644 --- a/packages/types/src/index.spec.ts +++ b/packages/types/src/index.spec.ts @@ -2,7 +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 extrinsics from '@polkadot/extrinsics/static'; +import extrinsics from '@polkadot/api-metadata/extrinsics/static'; import { Constructor } from './types'; import * as Classes from './index.types'; diff --git a/packages/types/src/primitive/Method.spec.ts b/packages/types/src/primitive/Method.spec.ts index ccc0151a66..8bce69d000 100644 --- a/packages/types/src/primitive/Method.spec.ts +++ b/packages/types/src/primitive/Method.spec.ts @@ -1,8 +1,8 @@ -// Copyright 2017-2019 @polkadot/extrinsics authors & contributors +// 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 extrinsics from '@polkadot/extrinsics/static'; +import extrinsics from '@polkadot/api-metadata/extrinsics/static'; import Method from './Method'; diff --git a/packages/types/src/primitive/Method.ts b/packages/types/src/primitive/Method.ts index 41c2f01dd0..52dafb658a 100644 --- a/packages/types/src/primitive/Method.ts +++ b/packages/types/src/primitive/Method.ts @@ -1,4 +1,4 @@ -// Copyright 2017-2019 @polkadot/extrinsics authors & contributors +// 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. diff --git a/packages/types/src/primitive/StorageKey.spec.ts b/packages/types/src/primitive/StorageKey.spec.ts index 929525393e..42488876b2 100644 --- a/packages/types/src/primitive/StorageKey.spec.ts +++ b/packages/types/src/primitive/StorageKey.spec.ts @@ -2,8 +2,8 @@ // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. +import fromMetadata from '@polkadot/api-metadata/storage/fromMetadata'; import { hexToU8a } from '@polkadot/util'; -import fromMetadata from '@polkadot/storage/fromMetadata'; import rpcDataV3 from '@polkadot/types/Metadata/v3/static'; import rpcDataV4 from '@polkadot/types/Metadata/v4/static'; import rpcDataV5 from '@polkadot/types/Metadata/v5/static'; diff --git a/packages/types/src/rpc/Block.spec.ts b/packages/types/src/rpc/Block.spec.ts index 98eaedcad1..ea064d0f8c 100644 --- a/packages/types/src/rpc/Block.spec.ts +++ b/packages/types/src/rpc/Block.spec.ts @@ -2,7 +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 extrinsics from '@polkadot/extrinsics/static'; +import extrinsics from '@polkadot/api-metadata/extrinsics/static'; import block00300 from '../json/SignedBlock.003.00.json'; import Method from '../primitive/Method'; diff --git a/packages/types/src/rpc/SignedBlock.spec.ts b/packages/types/src/rpc/SignedBlock.spec.ts index a8e7e8322f..bb43a90f3c 100644 --- a/packages/types/src/rpc/SignedBlock.spec.ts +++ b/packages/types/src/rpc/SignedBlock.spec.ts @@ -2,7 +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 extrinsics from '@polkadot/extrinsics/static'; +import extrinsics from '@polkadot/api-metadata/extrinsics/static'; import Extrinsics from '../type/Extrinsics'; import Method from '../primitive/Method'; diff --git a/packages/types/src/type/Extrinsic.spec.ts b/packages/types/src/type/Extrinsic.spec.ts index 160bbb3203..c88135d465 100644 --- a/packages/types/src/type/Extrinsic.spec.ts +++ b/packages/types/src/type/Extrinsic.spec.ts @@ -2,7 +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 extrinsics from '@polkadot/extrinsics/static'; +import extrinsics from '@polkadot/api-metadata/extrinsics/static'; import Method from '../primitive/Method'; import Extrinsic from './Extrinsic'; diff --git a/tsconfig.json b/tsconfig.json index 8b4cbbed77..06caf423f9 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,16 +11,14 @@ "@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/rpc-core": ["packages/rpc-core/src"], "@polkadot/rpc-core/*": ["packages/rpc-core/src/*"], "@polkadot/rpc-provider": ["packages/rpc-provider/src"], "@polkadot/rpc-provider/*": ["packages/rpc-provider/src/*"], - "@polkadot/extrinsics": ["packages/type-extrinsics/src"], - "@polkadot/extrinsics/*": ["packages/type-extrinsics/src/*"], "@polkadot/jsonrpc": ["packages/type-jsonrpc/src"], "@polkadot/jsonrpc/*": ["packages/type-jsonrpc/src/*"], - "@polkadot/storage": ["packages/type-storage/src"], - "@polkadot/storage/*": ["packages/type-storage/src/*"], "@polkadot/types": ["packages/types/src"], "@polkadot/types/*": ["packages/types/src/*"] },