From c88d284a5c527c8ebaa5a2e5312829fef46faa1c Mon Sep 17 00:00:00 2001 From: Alex Wang Date: Tue, 30 Apr 2019 05:57:30 +0000 Subject: [PATCH] fix: storageNames in metadata v4 to support DoubleMap Merged in polkadot_v77_1 (pull request #4) Approved-by: Ian He --- packages/types/src/Metadata/v4/Metadata.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/types/src/Metadata/v4/Metadata.ts b/packages/types/src/Metadata/v4/Metadata.ts index c8dc530212..5d7127f924 100644 --- a/packages/types/src/Metadata/v4/Metadata.ts +++ b/packages/types/src/Metadata/v4/Metadata.ts @@ -109,11 +109,15 @@ export default class MetadataV4 extends Struct implements MetadataInterface { return this.modules.map((mod) => mod.storage.isNone ? [] - : mod.storage.unwrap().map((fn) => - fn.type.isMap - ? [fn.type.asMap.key.toString(), fn.type.asMap.value.toString()] - : [fn.type.asType.toString()] - ) + : mod.storage.unwrap().map((fn) => { + if (fn.type.isMap) { + return [fn.type.asMap.key.toString(), fn.type.asMap.value.toString()]; + } else if (fn.type.isDoubleMap) { + return [fn.type.asDoubleMap.key1.toString(), fn.type.asDoubleMap.key2.toString(), fn.type.asDoubleMap.value.toString()]; + } else { + return [fn.type.asType.toString()]; + } + }) ); }