1- import { BigInt , ethereum } from "@graphprotocol/graph-ts"
21import {
32 getOrCreateGlobal ,
43 createUser ,
@@ -10,6 +9,9 @@ import {
109 StakeStart ,
1110 StakeEnd ,
1211 InterestScraped ,
12+ NewGlobals ,
13+ NewSharePrice ,
14+ WiseToken ,
1315} from "../generated/WiseToken/WiseToken"
1416import {
1517 Stake ,
@@ -77,11 +79,10 @@ export function handleStakeStart (event: StakeStart): void {
7779 stake . reward = null
7880 stake . closeDay = null
7981 stake . penalty = null
80- stake . scraped = ZERO
82+ stake . scrapedYodas = ZERO
8183 stake . sharesPenalized = ZERO
8284 stake . referrerSharesPenalized = ZERO
8385 stake . scrapeCount = ZERO
84- stake . scrapedTotalYodas = ZERO
8586 stake . lastScrapeDay = null
8687 stake . save ( )
8788}
@@ -95,12 +96,35 @@ export function handleStakeEnd (event: StakeEnd): void {
9596}
9697
9798export function handleInterestScraped ( event : InterestScraped ) : void {
98- let stake = Stake . load ( event . params . stakerAddress . toHexString ( ) )
99+ let stake = Stake . load ( event . params . stakeID . toHexString ( ) )
99100 stake . scrapeCount = stake . scrapeCount . plus ( ONE )
100101 stake . lastScrapeDay = event . params . scrapeDay
101- stake . scrapedTotalYodas = stake . scrapedTotalYodas . plus ( event . params . scrapeAmount )
102+ stake . scrapedYodas = stake . scrapedYodas . plus ( event . params . scrapeAmount )
102103 stake . currentShares = stake . currentShares . minus ( event . params . stakersPenalty )
103104 stake . sharesPenalized = stake . sharesPenalized . plus ( event . params . stakersPenalty )
104105 stake . referrerSharesPenalized = stake . referrerSharesPenalized . plus ( event . params . referrerPenalty )
105106 stake . save ( )
107+ }
108+
109+ export function handleNewGlobals ( event : NewGlobals ) : void {
110+ let global = getOrCreateGlobal ( )
111+ global . totalShares = event . params . totalShares
112+ global . totalStaked = event . params . totalStaked
113+ global . sharePrice = event . params . shareRate
114+ global . referrerShares = event . params . referrerShares
115+ global . currentWiseDay = event . params . currentWiseDay
116+ let contract = WiseToken . bind ( event . address )
117+ global . ownerlessSupply = contract . balanceOf ( contract . UNISWAP_PAIR ( ) )
118+ global . circulatingSupply = contract . totalSupply ( )
119+ global . liquidSupply = global . circulatingSupply . minus ( global . ownerlessSupply )
120+ global . mintedSupply = global . circulatingSupply . plus ( global . totalStaked )
121+ global . ownedSupply = global . liquidSupply . plus ( global . totalStaked )
122+ global . save ( )
123+ }
124+
125+ export function handleNewSharePrice ( event : NewSharePrice ) : void {
126+ let global = getOrCreateGlobal ( )
127+ global . sharePrice = event . params . newSharePrice
128+ global . sharePricePrevious = event . params . oldSharePrice
129+ global . save ( )
106130}
0 commit comments