Compare commits

...
2 Commits
Author SHA1 Message Date
Github Actions 26649c429a [CI Skip] release/stable 6.0.5
skip-checks: true
2021-09-20 13:57:16 +00:00
Jaco 7c57778389 6.0.5 (#3977) 2021-09-20 15:38:54 +02:00
26 changed files with 148 additions and 120 deletions
+2 -1
View File
@@ -32,4 +32,5 @@
6.0.2 6.0.2
6.0.3 6.0.3
6.0.4 6.0.4
6.0.5
+10
View File
@@ -1,5 +1,15 @@
# CHANGELOG # CHANGELOG
## 6.0.5 Sep 20, 2012
Upgrade priority: Low. Recommended for all users on 6.0.3 using `api.query.*.*.at` calls
Changes:
- Revert cross-registry (now-inactive) change introduced in 6.0.3
- Ensure `Option` is correctly imported for TS query generation
## 6.0.4 Sep 20, 2021 ## 6.0.4 Sep 20, 2021
Upgrade priority: Low. Recommended for all users on 6.0.3 using `api.query.*.*.at` calls Upgrade priority: Low. Recommended for all users on 6.0.3 using `api.query.*.*.at` calls
+1 -1
View File
@@ -35,6 +35,6 @@
"@types/jest": "^27.0.1", "@types/jest": "^27.0.1",
"copyfiles": "^2.4.1" "copyfiles": "^2.4.1"
}, },
"version": "6.0.4", "version": "6.0.5",
"packageManager": "yarn@3.0.1" "packageManager": "yarn@3.0.1"
} }
+3 -3
View File
@@ -1,6 +1,6 @@
{ {
"name": "@polkadot/api-contract", "name": "@polkadot/api-contract",
"version": "6.0.4", "version": "6.0.5",
"type": "module", "type": "module",
"description": "Interfaces for interacting with contracts and contract ABIs", "description": "Interfaces for interacting with contracts and contract ABIs",
"main": "index.js", "main": "index.js",
@@ -20,8 +20,8 @@
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/api-contract#readme", "homepage": "https://github.com/polkadot-js/api/tree/master/packages/api-contract#readme",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.15.4", "@babel/runtime": "^7.15.4",
"@polkadot/api": "6.0.4", "@polkadot/api": "6.0.5",
"@polkadot/types": "6.0.4", "@polkadot/types": "6.0.5",
"@polkadot/util": "^7.4.1", "@polkadot/util": "^7.4.1",
"rxjs": "^7.3.0" "rxjs": "^7.3.0"
} }
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit // Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/api-contract', version: '6.0.4' }; export const packageInfo = { name: '@polkadot/api-contract', version: '6.0.5' };
+5 -5
View File
@@ -1,6 +1,6 @@
{ {
"name": "@polkadot/api-derive", "name": "@polkadot/api-derive",
"version": "6.0.4", "version": "6.0.5",
"type": "module", "type": "module",
"description": "Common functions used across Polkadot, derived from RPC calls and storage queries.", "description": "Common functions used across Polkadot, derived from RPC calls and storage queries.",
"main": "index.js", "main": "index.js",
@@ -20,15 +20,15 @@
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/api-derive#readme", "homepage": "https://github.com/polkadot-js/api/tree/master/packages/api-derive#readme",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.15.4", "@babel/runtime": "^7.15.4",
"@polkadot/api": "6.0.4", "@polkadot/api": "6.0.5",
"@polkadot/rpc-core": "6.0.4", "@polkadot/rpc-core": "6.0.5",
"@polkadot/types": "6.0.4", "@polkadot/types": "6.0.5",
"@polkadot/util": "^7.4.1", "@polkadot/util": "^7.4.1",
"@polkadot/util-crypto": "^7.4.1", "@polkadot/util-crypto": "^7.4.1",
"rxjs": "^7.3.0" "rxjs": "^7.3.0"
}, },
"devDependencies": { "devDependencies": {
"@polkadot/keyring": "^7.4.1", "@polkadot/keyring": "^7.4.1",
"@polkadot/rpc-provider": "6.0.4" "@polkadot/rpc-provider": "6.0.5"
} }
} }
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit // Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/api-derive', version: '6.0.4' }; export const packageInfo = { name: '@polkadot/api-derive', version: '6.0.5' };
+6 -6
View File
@@ -1,6 +1,6 @@
{ {
"name": "@polkadot/api", "name": "@polkadot/api",
"version": "6.0.4", "version": "6.0.5",
"type": "module", "type": "module",
"description": "Promise and RxJS wrappers around the Polkadot JS RPC", "description": "Promise and RxJS wrappers around the Polkadot JS RPC",
"main": "index.js", "main": "index.js",
@@ -20,12 +20,12 @@
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/api#readme", "homepage": "https://github.com/polkadot-js/api/tree/master/packages/api#readme",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.15.4", "@babel/runtime": "^7.15.4",
"@polkadot/api-derive": "6.0.4", "@polkadot/api-derive": "6.0.5",
"@polkadot/keyring": "^7.4.1", "@polkadot/keyring": "^7.4.1",
"@polkadot/rpc-core": "6.0.4", "@polkadot/rpc-core": "6.0.5",
"@polkadot/rpc-provider": "6.0.4", "@polkadot/rpc-provider": "6.0.5",
"@polkadot/types": "6.0.4", "@polkadot/types": "6.0.5",
"@polkadot/types-known": "6.0.4", "@polkadot/types-known": "6.0.5",
"@polkadot/util": "^7.4.1", "@polkadot/util": "^7.4.1",
"@polkadot/util-crypto": "^7.4.1", "@polkadot/util-crypto": "^7.4.1",
"eventemitter3": "^4.0.7", "eventemitter3": "^4.0.7",
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit // Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/api', version: '6.0.4' }; export const packageInfo = { name: '@polkadot/api', version: '6.0.5' };
+3 -3
View File
@@ -1,6 +1,6 @@
{ {
"name": "@polkadot/rpc-core", "name": "@polkadot/rpc-core",
"version": "6.0.4", "version": "6.0.5",
"type": "module", "type": "module",
"description": "A JavaScript wrapper for the Polkadot JsonRPC interface", "description": "A JavaScript wrapper for the Polkadot JsonRPC interface",
"main": "index.js", "main": "index.js",
@@ -20,8 +20,8 @@
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/rpc-core#readme", "homepage": "https://github.com/polkadot-js/api/tree/master/packages/rpc-core#readme",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.15.4", "@babel/runtime": "^7.15.4",
"@polkadot/rpc-provider": "6.0.4", "@polkadot/rpc-provider": "6.0.5",
"@polkadot/types": "6.0.4", "@polkadot/types": "6.0.5",
"@polkadot/util": "^7.4.1", "@polkadot/util": "^7.4.1",
"rxjs": "^7.3.0" "rxjs": "^7.3.0"
}, },
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit // Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/rpc-core', version: '6.0.4' }; export const packageInfo = { name: '@polkadot/rpc-core', version: '6.0.5' };
+3 -3
View File
@@ -1,6 +1,6 @@
{ {
"name": "@polkadot/rpc-provider", "name": "@polkadot/rpc-provider",
"version": "6.0.4", "version": "6.0.5",
"type": "module", "type": "module",
"description": "Transport providers for the API", "description": "Transport providers for the API",
"main": "index.js", "main": "index.js",
@@ -20,7 +20,7 @@
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/rpc-provider#readme", "homepage": "https://github.com/polkadot-js/api/tree/master/packages/rpc-provider#readme",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.15.4", "@babel/runtime": "^7.15.4",
"@polkadot/types": "6.0.4", "@polkadot/types": "6.0.5",
"@polkadot/util": "^7.4.1", "@polkadot/util": "^7.4.1",
"@polkadot/util-crypto": "^7.4.1", "@polkadot/util-crypto": "^7.4.1",
"@polkadot/x-fetch": "^7.4.1", "@polkadot/x-fetch": "^7.4.1",
@@ -30,7 +30,7 @@
}, },
"devDependencies": { "devDependencies": {
"@polkadot/keyring": "^7.4.1", "@polkadot/keyring": "^7.4.1",
"@polkadot/types": "6.0.4", "@polkadot/types": "6.0.5",
"mock-socket": "^9.0.3", "mock-socket": "^9.0.3",
"nock": "^13.1.3" "nock": "^13.1.3"
} }
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit // Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/rpc-provider', version: '6.0.4' }; export const packageInfo = { name: '@polkadot/rpc-provider', version: '6.0.5' };
+5 -5
View File
@@ -1,6 +1,6 @@
{ {
"name": "@polkadot/typegen", "name": "@polkadot/typegen",
"version": "6.0.4", "version": "6.0.5",
"type": "module", "type": "module",
"description": "Type generation scripts", "description": "Type generation scripts",
"main": "index.js", "main": "index.js",
@@ -29,10 +29,10 @@
"@babel/core": "^7.15.5", "@babel/core": "^7.15.5",
"@babel/register": "^7.15.3", "@babel/register": "^7.15.3",
"@babel/runtime": "^7.15.4", "@babel/runtime": "^7.15.4",
"@polkadot/api": "6.0.4", "@polkadot/api": "6.0.5",
"@polkadot/rpc-provider": "6.0.4", "@polkadot/rpc-provider": "6.0.5",
"@polkadot/types": "6.0.4", "@polkadot/types": "6.0.5",
"@polkadot/types-support": "6.0.4", "@polkadot/types-support": "6.0.5",
"@polkadot/util": "^7.4.1", "@polkadot/util": "^7.4.1",
"handlebars": "^4.7.7", "handlebars": "^4.7.7",
"websocket": "^1.0.34", "websocket": "^1.0.34",
+9 -1
View File
@@ -24,7 +24,12 @@ function entrySignature (lookup: PortableRegistry, allDefs: Record<string, Modul
if (storageEntry.type.isPlain) { if (storageEntry.type.isPlain) {
const typeDef = lookup.getTypeDef(storageEntry.type.asPlain); const typeDef = lookup.getTypeDef(storageEntry.type.asPlain);
setImports(allDefs, imports, [typeDef.lookupName || typeDef.type]); setImports(allDefs, imports, [
typeDef.lookupName || typeDef.type,
storageEntry.modifier.isOptional
? 'Option'
: null
]);
return [storageEntry.modifier.isOptional, '', '', formatType(registry, allDefs, outputType, imports)]; return [storageEntry.modifier.isOptional, '', '', formatType(registry, allDefs, outputType, imports)];
} else if (storageEntry.type.isMap) { } else if (storageEntry.type.isMap) {
@@ -38,6 +43,9 @@ function entrySignature (lookup: PortableRegistry, allDefs: Record<string, Modul
setImports(allDefs, imports, [ setImports(allDefs, imports, [
...similarTypes.reduce<string[]>((all, t) => all.concat(t), []), ...similarTypes.reduce<string[]>((all, t) => all.concat(t), []),
storageEntry.modifier.isOptional
? 'Option'
: null,
defValue.lookupName defValue.lookupName
? undefined ? undefined
: defValue.type : defValue.type
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit // Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/typegen', version: '6.0.4' }; export const packageInfo = { name: '@polkadot/typegen', version: '6.0.5' };
+2 -2
View File
@@ -1,6 +1,6 @@
{ {
"name": "@polkadot/types-known", "name": "@polkadot/types-known",
"version": "6.0.4", "version": "6.0.5",
"type": "module", "type": "module",
"description": "Known type definitions", "description": "Known type definitions",
"main": "index.js", "main": "index.js",
@@ -21,7 +21,7 @@
"dependencies": { "dependencies": {
"@babel/runtime": "^7.15.4", "@babel/runtime": "^7.15.4",
"@polkadot/networks": "^7.4.1", "@polkadot/networks": "^7.4.1",
"@polkadot/types": "6.0.4", "@polkadot/types": "6.0.5",
"@polkadot/util": "^7.4.1" "@polkadot/util": "^7.4.1"
} }
} }
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit // Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/types-known', version: '6.0.4' }; export const packageInfo = { name: '@polkadot/types-known', version: '6.0.5' };
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@polkadot/types-support", "name": "@polkadot/types-support",
"version": "6.0.4", "version": "6.0.5",
"type": "module", "type": "module",
"description": "Supporting files for types, mostly for testing", "description": "Supporting files for types, mostly for testing",
"main": "index.js", "main": "index.js",
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit // Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/types-support', version: '6.0.4' }; export const packageInfo = { name: '@polkadot/types-support', version: '6.0.5' };
+2 -2
View File
@@ -1,6 +1,6 @@
{ {
"name": "@polkadot/types", "name": "@polkadot/types",
"version": "6.0.4", "version": "6.0.5",
"type": "module", "type": "module",
"description": "Implementation of the Parity codec", "description": "Implementation of the Parity codec",
"main": "index.js", "main": "index.js",
@@ -26,7 +26,7 @@
}, },
"devDependencies": { "devDependencies": {
"@polkadot/keyring": "^7.4.1", "@polkadot/keyring": "^7.4.1",
"@polkadot/types-support": "6.0.4", "@polkadot/types-support": "6.0.5",
"@types/bn.js": "^4.11.6", "@types/bn.js": "^4.11.6",
"bn.js": "^4.12.0" "bn.js": "^4.12.0"
} }
+1 -3
View File
@@ -3,7 +3,7 @@
import type { ExtDef } from '../extrinsic/signedExtensions/types'; import type { ExtDef } from '../extrinsic/signedExtensions/types';
import type { ChainProperties, CodecHash, DispatchErrorModule, Hash, MetadataLatest, PortableRegistry, SiLookupTypeId } from '../interfaces/types'; import type { ChainProperties, CodecHash, DispatchErrorModule, Hash, MetadataLatest, PortableRegistry, SiLookupTypeId } from '../interfaces/types';
import type { CallFunction, Codec, CodecHasher, Constructor, DetectCodec, DetectConstructor, RegisteredTypes, Registry, RegistryError, RegistryTypes, TypeSpec } from '../types'; import type { CallFunction, Codec, CodecHasher, Constructor, DetectCodec, DetectConstructor, RegisteredTypes, Registry, RegistryError, RegistryTypes } from '../types';
import type { CreateOptions } from './types'; import type { CreateOptions } from './types';
import { assert, assertReturn, BN_ZERO, formatBalance, isFunction, isString, isU8a, logger, stringCamelCase, stringify, u8aToHex } from '@polkadot/util'; import { assert, assertReturn, BN_ZERO, formatBalance, isFunction, isString, isU8a, logger, stringCamelCase, stringify, u8aToHex } from '@polkadot/util';
@@ -145,8 +145,6 @@ export class TypeRegistry implements Registry {
#userExtensions?: ExtDef; #userExtensions?: ExtDef;
public compatSpecs: TypeSpec[] = [];
public createdAtHash?: Hash; public createdAtHash?: Hash;
constructor (createdAtHash?: Hash | Uint8Array | string) { constructor (createdAtHash?: Hash | Uint8Array | string) {
+58 -35
View File
@@ -5,7 +5,7 @@ import type { ErrorMetadataV13, EventMetadataV13, ExtrinsicMetadataV13, Extrinsi
import type { SiVariant } from '../../interfaces/scaleInfo'; import type { SiVariant } from '../../interfaces/scaleInfo';
import type { Text } from '../../primitive/Text'; import type { Text } from '../../primitive/Text';
import type { Type } from '../../primitive/Type'; import type { Type } from '../../primitive/Type';
import type { OverrideModuleType, Registry, TypeSpec } from '../../types'; import type { OverrideModuleType, Registry } from '../../types';
import { getModuleTypes, knownOrigins } from '@polkadot/types-known'; import { getModuleTypes, knownOrigins } from '@polkadot/types-known';
import { stringCamelCase } from '@polkadot/util'; import { stringCamelCase } from '@polkadot/util';
@@ -16,15 +16,26 @@ interface MapDef {
value: Type; value: Type;
} }
export interface TypeSpec {
def: {
HistoricMetaCompat?: string;
Tuple?: number[];
Variant?: {
variants: SiVariant[];
}
},
path?: string[];
}
const BOXES = [['<', '>'], ['<', ','], [',', '>'], ['(', ')'], ['(', ','], [',', ','], [',', ')']]; const BOXES = [['<', '>'], ['<', ','], [',', '>'], ['(', ')'], ['(', ','], [',', ','], [',', ')']];
/** /**
* Creates a compatible type mapping * Creates a compatible type mapping
* @internal * @internal
**/ **/
function compatType (types: TypeSpec[], _type: Text | string): number { function compatType (compatTypes: TypeSpec[], _type: Text | string): number {
const type = _type.toString(); const type = _type.toString();
const index = types.findIndex(({ def }) => const index = compatTypes.findIndex(({ def }) =>
def.HistoricMetaCompat === type def.HistoricMetaCompat === type
); );
@@ -32,13 +43,23 @@ function compatType (types: TypeSpec[], _type: Text | string): number {
return index; return index;
} }
return types.push({ return compatTypes.push({
def: { HistoricMetaCompat: type } def: {
HistoricMetaCompat: type
}
}) - 1; }) - 1;
} }
function variantType (modName: Text, variantType: string, types: TypeSpec[], variants: SiVariant[]): number { function makeTupleType (compatTypes: TypeSpec[], entries: number[]): number {
return types.push({ return compatTypes.push({
def: {
Tuple: entries
}
}) - 1;
}
function makeVariantType (modName: Text, variantType: string, compatTypes: TypeSpec[], variants: SiVariant[]): number {
return compatTypes.push({
def: { def: {
Variant: { variants } Variant: { variants }
}, },
@@ -104,14 +125,14 @@ function setTypeOverride (sectionTypes: OverrideModuleType, types: Type[]): void
* Apply module-specific type overrides (always be done as part of toV14) * Apply module-specific type overrides (always be done as part of toV14)
* @internal * @internal
**/ **/
function convertCalls (registry: Registry, modName: Text, calls: FunctionMetadataV13[], sectionTypes: OverrideModuleType): PalletCallMetadataV14 { function convertCalls (compatTypes: TypeSpec[], registry: Registry, modName: Text, calls: FunctionMetadataV13[], sectionTypes: OverrideModuleType): PalletCallMetadataV14 {
const variants = calls.map(({ args, docs, name }, index): SiVariant => { const variants = calls.map(({ args, docs, name }, index): SiVariant => {
setTypeOverride(sectionTypes, args.map(({ type }) => type)); setTypeOverride(sectionTypes, args.map(({ type }) => type));
return registry.createType('SiVariant', { return registry.createType('SiVariant', {
docs, docs,
fields: args.map(({ name, type }) => fields: args.map(({ name, type }) =>
registry.createType('SiField', { name, type: compatType(registry.compatSpecs, type) }) registry.createType('SiField', { name, type: compatType(compatTypes, type) })
), ),
index, index,
name name
@@ -119,7 +140,7 @@ function convertCalls (registry: Registry, modName: Text, calls: FunctionMetadat
}); });
return registry.createType('PalletCallMetadataV14', { return registry.createType('PalletCallMetadataV14', {
type: variantType(modName, 'Call', registry.compatSpecs, variants) type: makeVariantType(modName, 'Call', compatTypes, variants)
}); });
} }
@@ -127,14 +148,14 @@ function convertCalls (registry: Registry, modName: Text, calls: FunctionMetadat
* Apply module-specific type overrides (always be done as part of toV14) * Apply module-specific type overrides (always be done as part of toV14)
* @internal * @internal
*/ */
function convertConstants (registry: Registry, constants: ModuleConstantMetadataV13[], sectionTypes: OverrideModuleType): PalletConstantMetadataV14[] { function convertConstants (compatTypes: TypeSpec[], registry: Registry, constants: ModuleConstantMetadataV13[], sectionTypes: OverrideModuleType): PalletConstantMetadataV14[] {
return constants.map(({ docs, name, type, value }): PalletConstantMetadataV14 => { return constants.map(({ docs, name, type, value }): PalletConstantMetadataV14 => {
setTypeOverride(sectionTypes, [type]); setTypeOverride(sectionTypes, [type]);
return registry.createType('PalletConstantMetadataV14', { return registry.createType('PalletConstantMetadataV14', {
docs, docs,
name, name,
type: compatType(registry.compatSpecs, type), type: compatType(compatTypes, type),
value value
}); });
}); });
@@ -145,7 +166,7 @@ function convertConstants (registry: Registry, constants: ModuleConstantMetadata
* @internal * @internal
*/ */
// eslint-disable-next-line @typescript-eslint/no-unused-vars // eslint-disable-next-line @typescript-eslint/no-unused-vars
function convertErrors (registry: Registry, modName: Text, errors: ErrorMetadataV13[], _sectionTypes: OverrideModuleType): PalletErrorMetadataV14 { function convertErrors (compatTypes: TypeSpec[], registry: Registry, modName: Text, errors: ErrorMetadataV13[], _sectionTypes: OverrideModuleType): PalletErrorMetadataV14 {
const variants = errors.map(({ docs, name }, index): SiVariant => const variants = errors.map(({ docs, name }, index): SiVariant =>
registry.createType('SiVariant', { registry.createType('SiVariant', {
docs, docs,
@@ -156,7 +177,7 @@ function convertErrors (registry: Registry, modName: Text, errors: ErrorMetadata
); );
return registry.createType('PalletErrorMetadataV14', { return registry.createType('PalletErrorMetadataV14', {
type: variantType(modName, 'Error', registry.compatSpecs, variants) type: makeVariantType(modName, 'Error', compatTypes, variants)
}); });
} }
@@ -164,14 +185,14 @@ function convertErrors (registry: Registry, modName: Text, errors: ErrorMetadata
* Apply module-specific type overrides (always be done as part of toV14) * Apply module-specific type overrides (always be done as part of toV14)
* @internal * @internal
**/ **/
function convertEvents (registry: Registry, modName: Text, events: EventMetadataV13[], sectionTypes: OverrideModuleType): PalletEventMetadataV14 { function convertEvents (compatTypes: TypeSpec[], registry: Registry, modName: Text, events: EventMetadataV13[], sectionTypes: OverrideModuleType): PalletEventMetadataV14 {
const variants = events.map(({ args, docs, name }, index): SiVariant => { const variants = events.map(({ args, docs, name }, index): SiVariant => {
setTypeOverride(sectionTypes, args); setTypeOverride(sectionTypes, args);
return registry.createType('SiVariant', { return registry.createType('SiVariant', {
docs, docs,
fields: args.map((t) => fields: args.map((t) =>
registry.createType('SiField', { type: compatType(registry.compatSpecs, t) }) registry.createType('SiField', { type: compatType(compatTypes, t) })
), ),
index, index,
name name
@@ -179,20 +200,20 @@ function convertEvents (registry: Registry, modName: Text, events: EventMetadata
}); });
return registry.createType('PalletEventMetadataV14', { return registry.createType('PalletEventMetadataV14', {
type: variantType(modName, 'Event', registry.compatSpecs, variants) type: makeVariantType(modName, 'Event', compatTypes, variants)
}); });
} }
function createMapEntry (registry: Registry, sectionTypes: OverrideModuleType, { hashers, keys, value }: MapDef): StorageEntryTypeV14 { function createMapEntry (compatTypes: TypeSpec[], registry: Registry, sectionTypes: OverrideModuleType, { hashers, keys, value }: MapDef): StorageEntryTypeV14 {
setTypeOverride(sectionTypes, [value, ...(Array.isArray(keys) ? keys : [keys])]); setTypeOverride(sectionTypes, [value, ...(Array.isArray(keys) ? keys : [keys])]);
return registry.createType('StorageEntryTypeV14', { return registry.createType('StorageEntryTypeV14', {
Map: { Map: {
hashers, hashers,
key: hashers.length === 1 key: hashers.length === 1
? compatType(registry.compatSpecs, keys[0]) ? compatType(compatTypes, keys[0])
: (registry.compatSpecs.push({ def: { Tuple: keys.map((t) => compatType(registry.compatSpecs, t)) } }) - 1), : makeTupleType(compatTypes, keys.map((t) => compatType(compatTypes, t))),
value: compatType(registry.compatSpecs, value) value: compatType(compatTypes, value)
} }
}); });
} }
@@ -201,7 +222,7 @@ function createMapEntry (registry: Registry, sectionTypes: OverrideModuleType, {
* Apply module-specific storage type overrides (always part of toV14) * Apply module-specific storage type overrides (always part of toV14)
* @internal * @internal
**/ **/
function convertStorage (registry: Registry, { items, prefix }: StorageMetadataV13, sectionTypes: OverrideModuleType): PalletStorageMetadataV14 { function convertStorage (compatTypes: TypeSpec[], registry: Registry, { items, prefix }: StorageMetadataV13, sectionTypes: OverrideModuleType): PalletStorageMetadataV14 {
return registry.createType('PalletStorageMetadataV14', { return registry.createType('PalletStorageMetadataV14', {
items: items.map(({ docs, fallback, modifier, name, type }): StorageEntryMetadataV14 => { items: items.map(({ docs, fallback, modifier, name, type }): StorageEntryMetadataV14 => {
let entryType: StorageEntryTypeV14; let entryType: StorageEntryTypeV14;
@@ -212,12 +233,12 @@ function convertStorage (registry: Registry, { items, prefix }: StorageMetadataV
setTypeOverride(sectionTypes, [plain]); setTypeOverride(sectionTypes, [plain]);
entryType = registry.createType('StorageEntryTypeV14', { entryType = registry.createType('StorageEntryTypeV14', {
Plain: compatType(registry.compatSpecs, plain) Plain: compatType(compatTypes, plain)
}); });
} else if (type.isMap) { } else if (type.isMap) {
const map = type.asMap; const map = type.asMap;
entryType = createMapEntry(registry, sectionTypes, { entryType = createMapEntry(compatTypes, registry, sectionTypes, {
hashers: [map.hasher], hashers: [map.hasher],
keys: [map.key], keys: [map.key],
value: map.value value: map.value
@@ -225,7 +246,7 @@ function convertStorage (registry: Registry, { items, prefix }: StorageMetadataV
} else if (type.isDoubleMap) { } else if (type.isDoubleMap) {
const dm = type.asDoubleMap; const dm = type.asDoubleMap;
entryType = createMapEntry(registry, sectionTypes, { entryType = createMapEntry(compatTypes, registry, sectionTypes, {
hashers: [dm.hasher, dm.key2Hasher], hashers: [dm.hasher, dm.key2Hasher],
keys: [dm.key1, dm.key2], keys: [dm.key1, dm.key2],
value: dm.value value: dm.value
@@ -233,7 +254,7 @@ function convertStorage (registry: Registry, { items, prefix }: StorageMetadataV
} else { } else {
const nm = type.asNMap; const nm = type.asNMap;
entryType = createMapEntry(registry, sectionTypes, { entryType = createMapEntry(compatTypes, registry, sectionTypes, {
hashers: nm.hashers, hashers: nm.hashers,
keys: nm.keyVec, keys: nm.keyVec,
value: nm.value value: nm.value
@@ -266,17 +287,17 @@ function convertExtrinsic (registry: Registry, { signedExtensions, version }: Ex
} }
/** @internal */ /** @internal */
function createPallet (registry: Registry, mod: ModuleMetadataV13, { calls, constants, errors, events, storage }: { calls: FunctionMetadataV13[] | null, constants: ModuleConstantMetadataV13[], errors: ErrorMetadataV13[] | null, events: EventMetadataV13[] | null, storage: StorageMetadataV13 | null }): PalletMetadataV14 { function createPallet (compatTypes: TypeSpec[], registry: Registry, mod: ModuleMetadataV13, { calls, constants, errors, events, storage }: { calls: FunctionMetadataV13[] | null, constants: ModuleConstantMetadataV13[], errors: ErrorMetadataV13[] | null, events: EventMetadataV13[] | null, storage: StorageMetadataV13 | null }): PalletMetadataV14 {
const sectionTypes = getModuleTypes(registry, stringCamelCase(mod.name)); const sectionTypes = getModuleTypes(registry, stringCamelCase(mod.name));
return registry.createType('PalletMetadataV14', { return registry.createType('PalletMetadataV14', {
calls: calls && convertCalls(registry, mod.name, calls, sectionTypes), calls: calls && convertCalls(compatTypes, registry, mod.name, calls, sectionTypes),
constants: convertConstants(registry, constants, sectionTypes), constants: convertConstants(compatTypes, registry, constants, sectionTypes),
errors: errors && convertErrors(registry, mod.name, errors, sectionTypes), errors: errors && convertErrors(compatTypes, registry, mod.name, errors, sectionTypes),
events: events && convertEvents(registry, mod.name, events, sectionTypes), events: events && convertEvents(compatTypes, registry, mod.name, events, sectionTypes),
index: mod.index, index: mod.index,
name: mod.name, name: mod.name,
storage: storage && convertStorage(registry, storage, sectionTypes) storage: storage && convertStorage(compatTypes, registry, storage, sectionTypes)
}); });
} }
@@ -285,12 +306,14 @@ function createPallet (registry: Registry, mod: ModuleMetadataV13, { calls, cons
* @internal * @internal
**/ **/
export function toV14 (registry: Registry, v13: MetadataV13, metaVersion: number): MetadataV14 { export function toV14 (registry: Registry, v13: MetadataV13, metaVersion: number): MetadataV14 {
compatType(registry.compatSpecs, 'Null'); // position 0 always has Null const compatTypes: TypeSpec[] = [];
compatType(compatTypes, 'Null'); // position 0 always has Null
registerOriginCaller(registry, v13.modules, metaVersion); registerOriginCaller(registry, v13.modules, metaVersion);
const extrinsic = convertExtrinsic(registry, v13.extrinsic); const extrinsic = convertExtrinsic(registry, v13.extrinsic);
const pallets = v13.modules.map((mod) => const pallets = v13.modules.map((mod) =>
createPallet(registry, mod, { createPallet(compatTypes, registry, mod, {
calls: mod.calls.unwrapOr(null), calls: mod.calls.unwrapOr(null),
constants: mod.constants, constants: mod.constants,
errors: mod.errors.length ? mod.errors : null, errors: mod.errors.length ? mod.errors : null,
@@ -302,7 +325,7 @@ export function toV14 (registry: Registry, v13: MetadataV13, metaVersion: number
return registry.createType('MetadataV14', { return registry.createType('MetadataV14', {
extrinsic, extrinsic,
lookup: { lookup: {
types: registry.compatSpecs.map((type, id) => types: compatTypes.map((type, id) =>
registry.createType('PortableType', { id, type }) registry.createType('PortableType', { id, type })
) )
}, },
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit // Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/types', version: '6.0.4' }; export const packageInfo = { name: '@polkadot/types', version: '6.0.5' };
+1 -13
View File
@@ -7,7 +7,7 @@ import type { CreateOptions } from '../create/types';
import type { ExtDef } from '../extrinsic/signedExtensions/types'; import type { ExtDef } from '../extrinsic/signedExtensions/types';
import type { MetadataLatest, PortableRegistry } from '../interfaces/metadata'; import type { MetadataLatest, PortableRegistry } from '../interfaces/metadata';
import type { CodecHash, Hash } from '../interfaces/runtime'; import type { CodecHash, Hash } from '../interfaces/runtime';
import type { SiField, SiLookupTypeId, SiVariant } from '../interfaces/scaleInfo'; import type { SiField, SiLookupTypeId } from '../interfaces/scaleInfo';
import type { ChainProperties } from '../interfaces/system'; import type { ChainProperties } from '../interfaces/system';
import type { Metadata } from '../metadata'; import type { Metadata } from '../metadata';
import type { CallFunction } from './calls'; import type { CallFunction } from './calls';
@@ -47,17 +47,6 @@ export interface RegistryError {
section: string; section: string;
} }
export interface TypeSpec {
def: {
HistoricMetaCompat?: string;
Tuple?: number[];
Variant?: {
variants: SiVariant[];
}
},
path?: string[];
}
export interface OverrideVersionedType { export interface OverrideVersionedType {
// min (v >= min) and max (v <= max) // min (v >= min) and max (v <= max)
minmax: [number | undefined | null, number | undefined | null] | [number?, number?] | (number | undefined | null)[]; minmax: [number | undefined | null, number | undefined | null] | [number?, number?] | (number | undefined | null)[];
@@ -123,7 +112,6 @@ export interface Registry {
readonly unknownTypes: string[]; readonly unknownTypes: string[];
readonly signedExtensions: string[]; readonly signedExtensions: string[];
compatSpecs: TypeSpec[];
createdAtHash?: Hash; createdAtHash?: Hash;
findMetaCall (callIndex: Uint8Array): CallFunction; findMetaCall (callIndex: Uint8Array): CallFunction;
+27 -27
View File
@@ -1854,40 +1854,40 @@ __metadata:
resolution: "@polkadot/api-contract@workspace:packages/api-contract" resolution: "@polkadot/api-contract@workspace:packages/api-contract"
dependencies: dependencies:
"@babel/runtime": ^7.15.4 "@babel/runtime": ^7.15.4
"@polkadot/api": 6.0.4 "@polkadot/api": 6.0.5
"@polkadot/types": 6.0.4 "@polkadot/types": 6.0.5
"@polkadot/util": ^7.4.1 "@polkadot/util": ^7.4.1
rxjs: ^7.3.0 rxjs: ^7.3.0
languageName: unknown languageName: unknown
linkType: soft linkType: soft
"@polkadot/api-derive@6.0.4, @polkadot/api-derive@workspace:packages/api-derive": "@polkadot/api-derive@6.0.5, @polkadot/api-derive@workspace:packages/api-derive":
version: 0.0.0-use.local version: 0.0.0-use.local
resolution: "@polkadot/api-derive@workspace:packages/api-derive" resolution: "@polkadot/api-derive@workspace:packages/api-derive"
dependencies: dependencies:
"@babel/runtime": ^7.15.4 "@babel/runtime": ^7.15.4
"@polkadot/api": 6.0.4 "@polkadot/api": 6.0.5
"@polkadot/keyring": ^7.4.1 "@polkadot/keyring": ^7.4.1
"@polkadot/rpc-core": 6.0.4 "@polkadot/rpc-core": 6.0.5
"@polkadot/rpc-provider": 6.0.4 "@polkadot/rpc-provider": 6.0.5
"@polkadot/types": 6.0.4 "@polkadot/types": 6.0.5
"@polkadot/util": ^7.4.1 "@polkadot/util": ^7.4.1
"@polkadot/util-crypto": ^7.4.1 "@polkadot/util-crypto": ^7.4.1
rxjs: ^7.3.0 rxjs: ^7.3.0
languageName: unknown languageName: unknown
linkType: soft linkType: soft
"@polkadot/api@6.0.4, @polkadot/api@workspace:packages/api": "@polkadot/api@6.0.5, @polkadot/api@workspace:packages/api":
version: 0.0.0-use.local version: 0.0.0-use.local
resolution: "@polkadot/api@workspace:packages/api" resolution: "@polkadot/api@workspace:packages/api"
dependencies: dependencies:
"@babel/runtime": ^7.15.4 "@babel/runtime": ^7.15.4
"@polkadot/api-derive": 6.0.4 "@polkadot/api-derive": 6.0.5
"@polkadot/keyring": ^7.4.1 "@polkadot/keyring": ^7.4.1
"@polkadot/rpc-core": 6.0.4 "@polkadot/rpc-core": 6.0.5
"@polkadot/rpc-provider": 6.0.4 "@polkadot/rpc-provider": 6.0.5
"@polkadot/types": 6.0.4 "@polkadot/types": 6.0.5
"@polkadot/types-known": 6.0.4 "@polkadot/types-known": 6.0.5
"@polkadot/util": ^7.4.1 "@polkadot/util": ^7.4.1
"@polkadot/util-crypto": ^7.4.1 "@polkadot/util-crypto": ^7.4.1
eventemitter3: ^4.0.7 eventemitter3: ^4.0.7
@@ -2012,26 +2012,26 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@polkadot/rpc-core@6.0.4, @polkadot/rpc-core@workspace:packages/rpc-core": "@polkadot/rpc-core@6.0.5, @polkadot/rpc-core@workspace:packages/rpc-core":
version: 0.0.0-use.local version: 0.0.0-use.local
resolution: "@polkadot/rpc-core@workspace:packages/rpc-core" resolution: "@polkadot/rpc-core@workspace:packages/rpc-core"
dependencies: dependencies:
"@babel/runtime": ^7.15.4 "@babel/runtime": ^7.15.4
"@polkadot/keyring": ^7.4.1 "@polkadot/keyring": ^7.4.1
"@polkadot/rpc-provider": 6.0.4 "@polkadot/rpc-provider": 6.0.5
"@polkadot/types": 6.0.4 "@polkadot/types": 6.0.5
"@polkadot/util": ^7.4.1 "@polkadot/util": ^7.4.1
rxjs: ^7.3.0 rxjs: ^7.3.0
languageName: unknown languageName: unknown
linkType: soft linkType: soft
"@polkadot/rpc-provider@6.0.4, @polkadot/rpc-provider@workspace:packages/rpc-provider": "@polkadot/rpc-provider@6.0.5, @polkadot/rpc-provider@workspace:packages/rpc-provider":
version: 0.0.0-use.local version: 0.0.0-use.local
resolution: "@polkadot/rpc-provider@workspace:packages/rpc-provider" resolution: "@polkadot/rpc-provider@workspace:packages/rpc-provider"
dependencies: dependencies:
"@babel/runtime": ^7.15.4 "@babel/runtime": ^7.15.4
"@polkadot/keyring": ^7.4.1 "@polkadot/keyring": ^7.4.1
"@polkadot/types": 6.0.4 "@polkadot/types": 6.0.5
"@polkadot/util": ^7.4.1 "@polkadot/util": ^7.4.1
"@polkadot/util-crypto": ^7.4.1 "@polkadot/util-crypto": ^7.4.1
"@polkadot/x-fetch": ^7.4.1 "@polkadot/x-fetch": ^7.4.1
@@ -2059,10 +2059,10 @@ __metadata:
"@babel/core": ^7.15.5 "@babel/core": ^7.15.5
"@babel/register": ^7.15.3 "@babel/register": ^7.15.3
"@babel/runtime": ^7.15.4 "@babel/runtime": ^7.15.4
"@polkadot/api": 6.0.4 "@polkadot/api": 6.0.5
"@polkadot/rpc-provider": 6.0.4 "@polkadot/rpc-provider": 6.0.5
"@polkadot/types": 6.0.4 "@polkadot/types": 6.0.5
"@polkadot/types-support": 6.0.4 "@polkadot/types-support": 6.0.5
"@polkadot/util": ^7.4.1 "@polkadot/util": ^7.4.1
"@types/websocket": ^1.0.4 "@types/websocket": ^1.0.4
"@types/yargs": ^17.0.2 "@types/yargs": ^17.0.2
@@ -2078,18 +2078,18 @@ __metadata:
languageName: unknown languageName: unknown
linkType: soft linkType: soft
"@polkadot/types-known@6.0.4, @polkadot/types-known@workspace:packages/types-known": "@polkadot/types-known@6.0.5, @polkadot/types-known@workspace:packages/types-known":
version: 0.0.0-use.local version: 0.0.0-use.local
resolution: "@polkadot/types-known@workspace:packages/types-known" resolution: "@polkadot/types-known@workspace:packages/types-known"
dependencies: dependencies:
"@babel/runtime": ^7.15.4 "@babel/runtime": ^7.15.4
"@polkadot/networks": ^7.4.1 "@polkadot/networks": ^7.4.1
"@polkadot/types": 6.0.4 "@polkadot/types": 6.0.5
"@polkadot/util": ^7.4.1 "@polkadot/util": ^7.4.1
languageName: unknown languageName: unknown
linkType: soft linkType: soft
"@polkadot/types-support@6.0.4, @polkadot/types-support@workspace:packages/types-support": "@polkadot/types-support@6.0.5, @polkadot/types-support@workspace:packages/types-support":
version: 0.0.0-use.local version: 0.0.0-use.local
resolution: "@polkadot/types-support@workspace:packages/types-support" resolution: "@polkadot/types-support@workspace:packages/types-support"
dependencies: dependencies:
@@ -2098,13 +2098,13 @@ __metadata:
languageName: unknown languageName: unknown
linkType: soft linkType: soft
"@polkadot/types@6.0.4, @polkadot/types@workspace:packages/types": "@polkadot/types@6.0.5, @polkadot/types@workspace:packages/types":
version: 0.0.0-use.local version: 0.0.0-use.local
resolution: "@polkadot/types@workspace:packages/types" resolution: "@polkadot/types@workspace:packages/types"
dependencies: dependencies:
"@babel/runtime": ^7.15.4 "@babel/runtime": ^7.15.4
"@polkadot/keyring": ^7.4.1 "@polkadot/keyring": ^7.4.1
"@polkadot/types-support": 6.0.4 "@polkadot/types-support": 6.0.5
"@polkadot/util": ^7.4.1 "@polkadot/util": ^7.4.1
"@polkadot/util-crypto": ^7.4.1 "@polkadot/util-crypto": ^7.4.1
"@types/bn.js": ^4.11.6 "@types/bn.js": ^4.11.6