diff --git a/packages/client/package.json b/packages/client/package.json index 1aec2cbd..18685794 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@logion/client", - "version": "0.43.1-1", + "version": "0.43.1-2", "description": "logion SDK for client applications", "main": "dist/index.js", "packageManager": "yarn@3.2.0", diff --git a/packages/client/src/LocClient.ts b/packages/client/src/LocClient.ts index 5d7321f9..e0ba372f 100644 --- a/packages/client/src/LocClient.ts +++ b/packages/client/src/LocClient.ts @@ -612,15 +612,21 @@ export abstract class LocClient { const { locId } = parameters; const onchainItems = await this.nodeApi.queries.getCollectionItems(locId); + const onchainItemsMap: Record = {}; + for(const item of onchainItems) { + onchainItemsMap[item.id.toHex()] = item; + } + try { + const result: UploadableCollectionItem[] = []; const offchainItems = await this.getOffchainItems({ locId }); - - const offchainItemsMap: Record = {}; - for(const item of offchainItems) { - offchainItemsMap[item.itemId] = item; + for(const offchainItem of offchainItems) { + const onchainItem = onchainItemsMap[offchainItem.itemId]; + if (onchainItem) { + result.push(this.mergeItems(onchainItem, offchainItem)) + } } - - return onchainItems.map(item => this.mergeItems(item, offchainItemsMap[item.id.toHex()])); + return result; } catch(e) { throw newBackendError(e); }