// Copyright 2017-2021 @polkadot/types authors & contributors // SPDX-License-Identifier: Apache-2.0 // order important in structs... :) /* eslint-disable sort-keys */ import type { Definitions } from '../../types'; export const AllHashers = { Blake2_128: null, // eslint-disable-line camelcase Blake2_256: null, // eslint-disable-line camelcase Blake2_128Concat: null, // eslint-disable-line camelcase Twox128: null, Twox256: null, Twox64Concat: null, // new in v11 Identity: null }; export default { rpc: {}, types: { // v9 DoubleMapTypeV9: { hasher: 'StorageHasherV9', key1: 'Type', key2: 'Type', value: 'Type', key2Hasher: 'StorageHasherV9' }, ErrorMetadataV9: { name: 'Text', documentation: 'Vec' }, EventMetadataV9: { name: 'Text', args: 'Vec', documentation: 'Vec' }, FunctionArgumentMetadataV9: { name: 'Text', type: 'Type' }, FunctionMetadataV9: { name: 'Text', args: 'Vec', documentation: 'Vec' }, MapTypeV9: { hasher: 'StorageHasherV9', key: 'Type', value: 'Type', linked: 'bool' }, MetadataV9: { modules: 'Vec' }, ModuleConstantMetadataV9: { name: 'Text', type: 'Type', value: 'Bytes', documentation: 'Vec' }, ModuleMetadataV9: { name: 'Text', storage: 'Option', calls: 'Option>', events: 'Option>', constants: 'Vec', errors: 'Vec' }, StorageEntryMetadataV9: { name: 'Text', modifier: 'StorageEntryModifierV9', type: 'StorageEntryTypeV9', fallback: 'Bytes', documentation: 'Vec' }, StorageEntryModifierV9: { _enum: ['Optional', 'Default', 'Required'] }, StorageEntryTypeV9: { _enum: { Plain: 'Type', Map: 'MapTypeV9', DoubleMap: 'DoubleMapTypeV9' } }, StorageHasherV9: { _enum: { Blake2_128: null, // eslint-disable-line camelcase Blake2_256: null, // eslint-disable-line camelcase Twox128: null, Twox256: null, Twox64Concat: null } }, StorageMetadataV9: { prefix: 'Text', items: 'Vec' }, // v10 DoubleMapTypeV10: { hasher: 'StorageHasherV10', key1: 'Type', key2: 'Type', value: 'Type', key2Hasher: 'StorageHasherV10' }, ErrorMetadataV10: 'ErrorMetadataV9', EventMetadataV10: 'EventMetadataV9', FunctionArgumentMetadataV10: 'FunctionArgumentMetadataV9', FunctionMetadataV10: 'FunctionMetadataV9', MapTypeV10: { hasher: 'StorageHasherV10', key: 'Type', value: 'Type', linked: 'bool' }, MetadataV10: { modules: 'Vec' }, ModuleConstantMetadataV10: 'ModuleConstantMetadataV9', ModuleMetadataV10: { name: 'Text', storage: 'Option', calls: 'Option>', events: 'Option>', constants: 'Vec', errors: 'Vec' }, StorageEntryModifierV10: 'StorageEntryModifierV9', StorageEntryMetadataV10: { name: 'Text', modifier: 'StorageEntryModifierV10', type: 'StorageEntryTypeV10', fallback: 'Bytes', documentation: 'Vec' }, StorageEntryTypeV10: { _enum: { Plain: 'Type', Map: 'MapTypeV10', DoubleMap: 'DoubleMapTypeV10' } }, StorageMetadataV10: { prefix: 'Text', items: 'Vec' }, StorageHasherV10: { _enum: { Blake2_128: null, // eslint-disable-line camelcase Blake2_256: null, // eslint-disable-line camelcase Blake2_128Concat: null, // eslint-disable-line camelcase Twox128: null, Twox256: null, Twox64Concat: null } }, // v11 DoubleMapTypeV11: { hasher: 'StorageHasherV11', key1: 'Type', key2: 'Type', value: 'Type', key2Hasher: 'StorageHasherV11' }, ErrorMetadataV11: 'ErrorMetadataV10', EventMetadataV11: 'EventMetadataV10', ExtrinsicMetadataV11: { version: 'u8', signedExtensions: 'Vec' }, FunctionArgumentMetadataV11: 'FunctionArgumentMetadataV10', FunctionMetadataV11: 'FunctionMetadataV10', MapTypeV11: { hasher: 'StorageHasherV11', key: 'Type', value: 'Type', linked: 'bool' }, MetadataV11: { modules: 'Vec', extrinsic: 'ExtrinsicMetadataV11' }, ModuleConstantMetadataV11: 'ModuleConstantMetadataV10', ModuleMetadataV11: { name: 'Text', storage: 'Option', calls: 'Option>', events: 'Option>', constants: 'Vec', errors: 'Vec' }, StorageEntryModifierV11: 'StorageEntryModifierV10', StorageEntryMetadataV11: { name: 'Text', modifier: 'StorageEntryModifierV11', type: 'StorageEntryTypeV11', fallback: 'Bytes', documentation: 'Vec' }, StorageEntryTypeV11: { _enum: { Plain: 'Type', Map: 'MapTypeV11', DoubleMap: 'DoubleMapTypeV11' } }, StorageMetadataV11: { prefix: 'Text', items: 'Vec' }, StorageHasherV11: { _enum: AllHashers }, // v12 DoubleMapTypeV12: 'DoubleMapTypeV11', ErrorMetadataV12: 'ErrorMetadataV11', EventMetadataV12: 'EventMetadataV11', ExtrinsicMetadataV12: 'ExtrinsicMetadataV11', FunctionArgumentMetadataV12: 'FunctionArgumentMetadataV11', FunctionMetadataV12: 'FunctionMetadataV11', MapTypeV12: 'MapTypeV11', MetadataV12: { modules: 'Vec', extrinsic: 'ExtrinsicMetadataV12' }, ModuleConstantMetadataV12: 'ModuleConstantMetadataV11', ModuleMetadataV12: { name: 'Text', storage: 'Option', calls: 'Option>', events: 'Option>', constants: 'Vec', errors: 'Vec', index: 'u8' }, StorageEntryModifierV12: 'StorageEntryModifierV11', StorageEntryMetadataV12: 'StorageEntryMetadataV11', StorageEntryTypeV12: 'StorageEntryTypeV11', StorageMetadataV12: 'StorageMetadataV11', StorageHasherV12: 'StorageHasherV11', // This always maps to the latest DoubleMapTypeLatest: 'DoubleMapTypeV12', ErrorMetadataLatest: 'ErrorMetadataV12', EventMetadataLatest: 'EventMetadataV12', ExtrinsicMetadataLatest: 'ExtrinsicMetadataV12', FunctionArgumentMetadataLatest: 'FunctionArgumentMetadataV12', FunctionMetadataLatest: 'FunctionMetadataV12', MapTypeLatest: 'MapTypeV12', MetadataLatest: 'MetadataV12', ModuleConstantMetadataLatest: 'ModuleConstantMetadataV12', ModuleMetadataLatest: 'ModuleMetadataV12', StorageEntryMetadataLatest: 'StorageEntryMetadataV12', StorageEntryModifierLatest: 'StorageEntryModifierV12', StorageEntryTypeLatest: 'StorageEntryTypeV12', StorageMetadataLatest: 'StorageMetadataV12', StorageHasher: 'StorageHasherV12', // the enum containing all the mappings MetadataAll: { _enum: { V0: 'DoNotConstruct', V1: 'DoNotConstruct', V2: 'DoNotConstruct', V3: 'DoNotConstruct', V4: 'DoNotConstruct', V5: 'DoNotConstruct', V6: 'DoNotConstruct', V7: 'DoNotConstruct', V8: 'DoNotConstruct', // First version on Kusama in V9, dropping will be problematic V9: 'MetadataV9', V10: 'MetadataV10', V11: 'MetadataV11', V12: 'MetadataV12' } } } } as Definitions;