1- import { BigInt , log } from '@graphprotocol/graph-ts'
1+ import { BigInt } from '@graphprotocol/graph-ts'
22import { addresses } from '../../config/addresses'
3- import { DelegationFeeCutSet , HorizonStakeDeposited , HorizonStakeLocked , HorizonStakeWithdrawn , OperatorSet , TokensDeprovisioned } from '../types/HorizonStaking/HorizonStaking'
4- import { Indexer , GraphNetwork , ThawRequest } from '../types/schema'
5- import { calculateCapacities , createOrLoadDataService , createOrLoadEpoch , createOrLoadGraphAccount , createOrLoadGraphNetwork , createOrLoadIndexer , createOrLoadOperator , createOrLoadProvision , updateAdvancedIndexerMetrics } from './helpers/helpers'
3+ import { DelegationFeeCutSet , HorizonStakeDeposited , HorizonStakeLocked , HorizonStakeWithdrawn , OperatorSet , TokensDeprovisioned , TokensToDelegationPoolAdded } from '../types/HorizonStaking/HorizonStaking'
4+ import { Indexer , ThawRequest } from '../types/schema'
5+ import { calculateCapacities , createOrLoadDataService , createOrLoadEpoch , createOrLoadGraphAccount , createOrLoadGraphNetwork , createOrLoadIndexer , createOrLoadOperator , createOrLoadProvision , updateAdvancedIndexerMetrics , updateAdvancedIndexerMetricsHorizon , updateDelegationExchangeRate } from './helpers/helpers'
66import {
77 ProvisionCreated ,
88 ProvisionIncreased ,
@@ -12,8 +12,6 @@ import {
1212 ProvisionThawed ,
1313 ThawRequestCreated ,
1414 ThawRequestFulfilled ,
15- ThawRequestsFulfilled ,
16- ThawingPeriodCleared
1715} from '../types/HorizonStaking/HorizonStaking'
1816
1917export function handleHorizonStakeDeposited ( event : HorizonStakeDeposited ) : void {
@@ -22,7 +20,7 @@ export function handleHorizonStakeDeposited(event: HorizonStakeDeposited): void
2220 let indexer = createOrLoadIndexer ( event . params . serviceProvider , event . block . timestamp )
2321 let previousStake = indexer . stakedTokens
2422 indexer . stakedTokens = indexer . stakedTokens . plus ( event . params . tokens )
25- indexer = updateAdvancedIndexerMetrics ( indexer as Indexer )
23+ indexer = updateAdvancedIndexerMetrics ( indexer as Indexer ) // Can't rely on provision here, will need to figure out a way
2624 indexer = calculateCapacities ( indexer as Indexer )
2725 indexer . save ( )
2826
@@ -48,7 +46,7 @@ export function handleHorizonStakeLocked(event: HorizonStakeLocked): void {
4846 let indexer = Indexer . load ( id ) !
4947 indexer . lockedTokens = event . params . tokens
5048 indexer . tokensLockedUntil = event . params . until . toI32 ( )
51- indexer = updateAdvancedIndexerMetrics ( indexer as Indexer )
49+ indexer = updateAdvancedIndexerMetrics ( indexer as Indexer ) // Can't rely on provision here, will need to figure out a way
5250 indexer = calculateCapacities ( indexer as Indexer )
5351 indexer . save ( )
5452
@@ -67,7 +65,7 @@ export function handleHorizonStakeWithdrawn(event: HorizonStakeWithdrawn): void
6765 indexer . stakedTokens = indexer . stakedTokens . minus ( event . params . tokens )
6866 indexer . lockedTokens = BigInt . fromI32 ( 0 ) // set to 0 to prevent issues when Stage 2 comes
6967 indexer . tokensLockedUntil = 0 // always set to 0 when withdrawn
70- indexer = updateAdvancedIndexerMetrics ( indexer as Indexer )
68+ indexer = updateAdvancedIndexerMetrics ( indexer as Indexer ) // Can't rely on provision here, will need to figure out a way
7169 indexer = calculateCapacities ( indexer as Indexer )
7270 indexer . save ( )
7371
@@ -270,4 +268,14 @@ export function handleThawRequestFulfilled(event: ThawRequestFulfilled): void {
270268 request . tokens = event . params . tokens
271269 request . valid = event . params . valid
272270 request . save ( )
271+ }
272+
273+ export function handleTokensToDelegationPoolAdded ( event : TokensToDelegationPoolAdded ) : void {
274+ let indexer = Indexer . load ( event . params . serviceProvider . toHexString ( ) ) !
275+ let provision = createOrLoadProvision ( event . params . serviceProvider , event . params . verifier , event . block . timestamp )
276+ indexer . delegatedTokens = indexer . delegatedTokens . plus ( event . params . tokens )
277+ indexer = updateAdvancedIndexerMetricsHorizon ( indexer , provision )
278+ indexer = updateDelegationExchangeRate ( indexer )
279+ indexer = calculateCapacities ( indexer )
280+ indexer . save ( )
273281}
0 commit comments