From ec0c28265861daddc6346db91a4d93c66f728955 Mon Sep 17 00:00:00 2001 From: mihaisc Date: Tue, 5 Oct 2021 13:51:47 +0300 Subject: [PATCH] add nr of sales for user (#231) --- schema.graphql | 1 + src/helpers.ts | 1 + src/mappings/datatoken.ts | 8 +++++++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/schema.graphql b/schema.graphql index 91e7e0b..87aafc4 100644 --- a/schema.graphql +++ b/schema.graphql @@ -214,6 +214,7 @@ type User @entity { sharesOwned: [PoolShare!] @derivedFrom(field: "userAddress") tokenBalancesOwned: [TokenBalance!] @derivedFrom(field: "userAddress") tokensOwned: [Datatoken!] @derivedFrom(field: "minter") + nrSales: Int poolTransactions: [PoolTransaction!] @derivedFrom(field: "userAddress") poolTransactionsTokenValues: [PoolTransactionTokenValues!] @derivedFrom(field: "userAddress") diff --git a/src/helpers.ts b/src/helpers.ts index 5e23996..d7d667d 100644 --- a/src/helpers.ts +++ b/src/helpers.ts @@ -237,6 +237,7 @@ export function updatePoolSwapVolume( export function createUserEntity(address: string): void { if (User.load(address) == null) { const user = new User(address) + user.nrSales = 0 user.save() } } diff --git a/src/mappings/datatoken.ts b/src/mappings/datatoken.ts index af89d14..00c27b6 100644 --- a/src/mappings/datatoken.ts +++ b/src/mappings/datatoken.ts @@ -6,7 +6,8 @@ import { Global, PoolFactory, TokenBalance, - TokenOrder + TokenOrder, + User } from '../@types/schema' import { tokenToDecimal, @@ -155,6 +156,11 @@ export function handleOrderStarted(event: OrderStarted): void { factory.orderCount = factory.orderCount.plus(BigInt.fromI32(1)) factory.totalOrderVolume = factory.totalOrderVolume.plus(order.amount) factory.save() + + const user = User.load(datatoken.minter) + user.nrSales = user.nrSales + 1 + user.save() + const gStats: Global | null = getGlobalStats() gStats.orderCount = factory.orderCount gStats.totalOrderVolume = factory.totalOrderVolume