@@ -466,7 +466,6 @@ export function handleTokensUndelegated(event: TokensUndelegated): void {
466466
467467 let beforeUpdateDelegationExchangeRate = provision . delegationExchangeRate
468468
469- provision . delegatedTokens = provision . delegatedTokens . minus ( event . params . tokens )
470469 provision . delegatorShares = provision . delegatorShares . minus ( event . params . shares )
471470 if ( provision . delegatorShares != BigInt . fromI32 ( 0 ) ) {
472471 provision = updateDelegationExchangeRateForProvision ( provision as Provision )
@@ -477,7 +476,6 @@ export function handleTokensUndelegated(event: TokensUndelegated): void {
477476 // update indexer
478477 let indexerID = event . params . serviceProvider . toHexString ( )
479478 let indexer = Indexer . load ( indexerID ) !
480- indexer . delegatedTokens = indexer . delegatedTokens . minus ( event . params . tokens )
481479 indexer . delegatorShares = indexer . delegatorShares . minus ( event . params . shares )
482480 if ( indexer . delegatorShares != BigInt . fromI32 ( 0 ) ) {
483481 indexer = updateDelegationExchangeRate ( indexer as Indexer )
@@ -534,8 +532,15 @@ export function handleTokensUndelegated(event: TokensUndelegated): void {
534532export function handleDelegatedTokensWithdrawn ( event : DelegatedTokensWithdrawn ) : void {
535533 let provision = createOrLoadProvision ( event . params . serviceProvider , event . params . verifier , event . block . timestamp )
536534 // might want to track locked/thawing tokens in provision too
535+ provision . delegatedTokens = provision . delegatedTokens . minus ( event . params . tokens )
537536 provision . save ( )
538537
538+ let indexerID = event . params . serviceProvider . toHexString ( )
539+ let indexer = Indexer . load ( indexerID ) !
540+
541+ indexer . delegatedTokens = indexer . delegatedTokens . minus ( event . params . tokens )
542+ indexer . save ( )
543+
539544 // update delegated stake
540545 let delegatorID = event . params . delegator . toHexString ( )
541546 let id = joinID ( [ delegatorID , provision . id ] )
0 commit comments