diff --git a/schema.graphql b/schema.graphql index 9febcfc..ab1f10a 100755 --- a/schema.graphql +++ b/schema.graphql @@ -54,7 +54,7 @@ type Protocol @entity { pendingDeactivation: [Transcoder!]! "Total number of delegators on the network" delegatorsCount: BigInt! - "Broadcasters active within the current 90 day fee window" + "Broadcasters that paid tickets within the current 90 day fee window" activeBroadcasters: [String!]! } diff --git a/src/mappings/ticketBroker.ts b/src/mappings/ticketBroker.ts index b929106..5f9c3a2 100644 --- a/src/mappings/ticketBroker.ts +++ b/src/mappings/ticketBroker.ts @@ -110,6 +110,13 @@ export function winningTicketRedeemed(event: WinningTicketRedeemed): void { protocol.totalVolumeETH = protocol.totalVolumeETH.plus(faceValue); protocol.totalVolumeUSD = protocol.totalVolumeUSD.plus(faceValueUSD); + // Track active broadcasters based on ticket activity. + let activeBroadcasters = protocol.activeBroadcasters; + if (!activeBroadcasters.includes(broadcaster.id)) { + activeBroadcasters.push(broadcaster.id); + protocol.activeBroadcasters = activeBroadcasters; + } + protocol.winningTicketCount = protocol.winningTicketCount + 1; protocol.save(); diff --git a/utils/helpers.ts b/utils/helpers.ts index d068d43..457db2d 100644 --- a/utils/helpers.ts +++ b/utils/helpers.ts @@ -194,14 +194,6 @@ export function createOrLoadBroadcaster(id: string): Broadcaster { broadcaster.save(); } - let protocol = createOrLoadProtocol(); - let activeBroadcasters = protocol.activeBroadcasters; - if (!activeBroadcasters.includes(id)) { - activeBroadcasters.push(id); - protocol.activeBroadcasters = activeBroadcasters; - protocol.save(); - } - return broadcaster; }