From c5d86d10df06f3a8c7e50b2867a99c9ad2c48531 Mon Sep 17 00:00:00 2001 From: Alex Coseru Date: Tue, 13 Sep 2022 11:30:38 +0300 Subject: [PATCH] nft updates (#530) * nft updates * use hasMetadata --- schema.graphql | 5 ++++- src/mappings/nftUpdate.ts | 3 ++- src/mappings/utils/tokenUtils.ts | 13 +++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/schema.graphql b/schema.graphql index 005e4ba..6a801b5 100644 --- a/schema.graphql +++ b/schema.graphql @@ -109,7 +109,10 @@ type Nft @entity{ block: Int "number of orders executed for all underlying datatokens" - orderCount: BigInt! + orderCount: BigInt! + + "has metadata" + hasMetadata: Boolean! } type OrderReuse @entity { diff --git a/src/mappings/nftUpdate.ts b/src/mappings/nftUpdate.ts index a6bc279..e02d366 100644 --- a/src/mappings/nftUpdate.ts +++ b/src/mappings/nftUpdate.ts @@ -30,6 +30,7 @@ export function handleMetadataCreated(event: MetadataCreated): void { nft.assetState = event.params.state nft.providerUrl = event.params.decryptorUrl.toString() + nft.hasMetadata = true const nftUpdate = new NftUpdate( getId(event.transaction.hash.toHex(), nftAddress) @@ -57,7 +58,7 @@ export function handleMetadataUpdated(event: MetadataUpdated): void { if (!nft) return nft.assetState = event.params.state - + nft.hasMetadata = true const nftUpdate = new NftUpdate( getId(event.transaction.hash.toHex(), nftAddress) ) diff --git a/src/mappings/utils/tokenUtils.ts b/src/mappings/utils/tokenUtils.ts index b129bd8..98d574b 100644 --- a/src/mappings/utils/tokenUtils.ts +++ b/src/mappings/utils/tokenUtils.ts @@ -59,6 +59,7 @@ export function createNftToken(address: Address): Nft { token.block = 0 token.tx = '' token.orderCount = BigInt.zero() + token.hasMetadata = false token.save() addNft() return token @@ -80,6 +81,18 @@ export function getNftTokenWithID(tokenId: string): Nft { nftToken.name = '' nftToken.symbol = '' nftToken.address = tokenId + nftToken.providerUrl = '' + nftToken.tokenUri = '' + nftToken.owner = '' + nftToken.creator = '' + nftToken.assetState = 0 + nftToken.template = '' + nftToken.transferable = true + nftToken.createdTimestamp = 0 + nftToken.block = 0 + nftToken.tx = '' + nftToken.orderCount = BigInt.zero() + nftToken.hasMetadata = false nftToken.save() addNft() }