From 85e08938c77f526a7abe22ff4502838d7d40ca95 Mon Sep 17 00:00:00 2001 From: Viki Val Date: Fri, 6 Jan 2023 17:43:14 +0100 Subject: [PATCH 1/4] :wrench: max root fields set for 50 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 51b74568..d605ce27 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "update": "npx npm-check-updates --filter /subsquid/ --upgrade && npm i -f", "db:migrate": "npx squid-typeorm-migration apply", "processor:start": "node lib/processor.js", - "query-node:start": "squid-graphql-server --subscriptions --dumb-cache in-memory --dumb-cache-ttl 1000 --dumb-cache-size 100 --dumb-cache-max-age 1000", + "query-node:start": "squid-graphql-server --subscriptions --max-root-fields 50 --dumb-cache in-memory --dumb-cache-ttl 1000 --dumb-cache-size 100 --dumb-cache-max-age 1000", "test:unit": "mocha -r ts-node/register tests/unit/**.spec.ts" }, "dependencies": { From 7ea00fa65a4797f228179b404902f4bb6b649d1e Mon Sep 17 00:00:00 2001 From: Viki Val Date: Fri, 6 Jan 2023 18:20:58 +0100 Subject: [PATCH 2/4] :zap: reverse engineer collection id --- src/mappings/utils/helper.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mappings/utils/helper.ts b/src/mappings/utils/helper.ts index 2ae88bcf..43105721 100644 --- a/src/mappings/utils/helper.ts +++ b/src/mappings/utils/helper.ts @@ -14,6 +14,11 @@ export const eventId = (id: string, event: RmrkEvent) => `${id}-${event}${nanoid export const ensureInteraction = ({ id, value: metadata }: RmrkInteraction): RmrkInteraction => ({ id: trim(id), value: trimAll(metadata) }) +export const collectionIdFrom = (nftId: string) => { + const [_blockNumber, id, symbol] = nftId.split('-') + return `${id}-${symbol}` +} + export function ensure(value: any): T { return value as T } From da46a80c3a3fcf2a6fa8ce11a6761f4f1e6fe1db Mon Sep 17 00:00:00 2001 From: Viki Val Date: Fri, 6 Jan 2023 18:26:27 +0100 Subject: [PATCH 3/4] :bug: fetching of collection from NFT --- src/mappings/index.ts | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/mappings/index.ts b/src/mappings/index.ts index d4f5559b..19f7e942 100644 --- a/src/mappings/index.ts +++ b/src/mappings/index.ts @@ -13,7 +13,7 @@ import { updateCache } from './utils/cache' import { burned, isBuyLegalOrElseError, isInteractive, isOwnerOrElseError, isPositiveOrElseError, plsBe, plsNotBe, real, validateInteraction, withMeta } from './utils/consolidator' import { create, get } from './utils/entity' import { getCreateCollection, getCreateToken, getInteraction, getInteractionWithExtra } from './utils/getters' -import { emoteId, ensure, eventId, isEmpty } from './utils/helper' +import { collectionIdFrom, emoteId, ensure, eventId, isEmpty } from './utils/helper' import logger, { logError } from './utils/logger' import { fetchMetadata } from './utils/metadata' import { @@ -115,10 +115,10 @@ async function mint(context: Context): Promise { final.nftCount = 0 final.supply = 0 - if (final.metadata) { - const metadata = await handleMetadata(final.metadata, final.name, context.store) - final.meta = metadata - } + // if (final.metadata) { + // const metadata = await handleMetadata(final.metadata, final.name, context.store) + // final.meta = metadata + // } logger.success(`[COLLECTION] ${final.id}`) await context.store.save(final) @@ -167,10 +167,10 @@ async function mintNFT( collection.nftCount += 1 collection.supply += 1 - if (final.metadata) { - const metadata = await handleMetadata(final.metadata, final.name, context.store) - final.meta = metadata - } + // if (final.metadata) { + // const metadata = await handleMetadata(final.metadata, final.name, context.store) + // final.meta = metadata + // } logger.success(`[MINT] ${final.id}`) await context.store.save(final) @@ -230,8 +230,8 @@ async function buy(context: Context) { nft.price = BigInt(0) nft.updatedAt = timestamp - plsBe(real, nft.collection) - const collection = ensure(await get(context.store, CollectionEntity, nft.collection.toString())) + const collectionId = collectionIdFrom(nft.id) + const collection = ensure(await get(context.store, CollectionEntity, collectionId)) plsBe(real, collection) collection.updatedAt = timestamp @@ -261,8 +261,9 @@ async function consume(context: Context) { nft.price = BigInt(0) nft.burned = true nft.updatedAt = timestamp - plsBe(real, nft.collection) - const collection = ensure(await get(context.store, CollectionEntity, nft.collection.toString())) + + const collectionId = collectionIdFrom(nft.id) + const collection = ensure(await get(context.store, CollectionEntity, collectionId)) plsBe(real, collection) collection.updatedAt = timestamp collection.supply -= 1 From 5ba092e8f0bbda1db03a93d8ce889663664c7837 Mon Sep 17 00:00:00 2001 From: Viki Val Date: Mon, 9 Jan 2023 12:13:41 +0100 Subject: [PATCH 4/4] :zap: enable metadata --- src/mappings/index.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/mappings/index.ts b/src/mappings/index.ts index a186986d..0e689a27 100644 --- a/src/mappings/index.ts +++ b/src/mappings/index.ts @@ -115,10 +115,10 @@ async function mint(context: Context): Promise { final.nftCount = 0 final.supply = 0 - // if (final.metadata) { - // const metadata = await handleMetadata(final.metadata, final.name, context.store) - // final.meta = metadata - // } + if (final.metadata) { + const metadata = await handleMetadata(final.metadata, final.name, context.store) + final.meta = metadata + } logger.success(`[COLLECTION] ${final.id}`) await context.store.save(final) @@ -167,10 +167,10 @@ async function mintNFT( collection.nftCount += 1 collection.supply += 1 - // if (final.metadata) { - // const metadata = await handleMetadata(final.metadata, final.name, context.store) - // final.meta = metadata - // } + if (final.metadata) { + const metadata = await handleMetadata(final.metadata, final.name, context.store) + final.meta = metadata + } logger.success(`[MINT] ${final.id}`) await context.store.save(final)