Ensure that ignored map params yield an error on iterKey (#2605)
This commit is contained in:
@@ -181,11 +181,13 @@ function extendLinkedMap (registry: Registry, itemFn: CreateItemFn, storageFn: S
|
||||
function extendPrefixedMap (registry: Registry, itemFn: CreateItemFn, storageFn: StorageEntry): StorageEntry {
|
||||
const { meta: { type } } = itemFn;
|
||||
|
||||
storageFn.iterKey = extendHeadMeta(registry, itemFn, storageFn, (arg?: any): Raw =>
|
||||
type.isDoubleMap && !isUndefined(arg) && !isNull(arg)
|
||||
storageFn.iterKey = extendHeadMeta(registry, itemFn, storageFn, (arg?: any): Raw => {
|
||||
assert(type.isDoubleMap || isUndefined(arg), 'Filtering arguments for keys/entries are only valid on double maps');
|
||||
|
||||
return type.isDoubleMap && !isUndefined(arg) && !isNull(arg)
|
||||
? new Raw(registry, u8aConcat(createPrefixedKey(itemFn), getHasher(type.asDoubleMap.hasher)(registry.createType(type.asDoubleMap.key1.toString() as 'Raw', arg).toU8a())))
|
||||
: new Raw(registry, createPrefixedKey(itemFn))
|
||||
);
|
||||
: new Raw(registry, createPrefixedKey(itemFn));
|
||||
});
|
||||
|
||||
return storageFn;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user