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