@@ -282,13 +282,39 @@ export function handleThawRequestCreated(event: ThawRequestCreated): void {
282282 }
283283 request . save ( )
284284
285- // update latest thawingUntil for provision and indexer
286- let provision = createOrLoadProvision ( event . params . serviceProvider , event . params . verifier , event . block . timestamp )
287- provision . thawingUntil = event . params . thawingUntil > provision . thawingUntil ? event . params . thawingUntil : provision . thawingUntil
288- provision . save ( )
285+ if ( request . type == 'Provision' ) {
286+ // update latest thawingUntil for provision and indexer
287+ let provision = createOrLoadProvision (
288+ event . params . serviceProvider ,
289+ event . params . verifier ,
290+ event . block . timestamp ,
291+ )
292+ provision . thawingUntil =
293+ event . params . thawingUntil > provision . thawingUntil
294+ ? event . params . thawingUntil
295+ : provision . thawingUntil
296+ provision . save ( )
297+
298+ indexer . thawingUntil =
299+ event . params . thawingUntil > indexer . thawingUntil
300+ ? event . params . thawingUntil
301+ : indexer . thawingUntil
302+ indexer . save ( )
303+ } else {
304+ // update delegated stake for delegation thaw request
305+ let delegatedStake = createOrLoadDelegatedStakeForProvision (
306+ owner . id ,
307+ indexer . id ,
308+ dataService . id ,
309+ event . block . timestamp . toI32 ( ) ,
310+ )
289311
290- indexer . thawingUntil = event . params . thawingUntil > indexer . thawingUntil ? event . params . thawingUntil : indexer . thawingUntil
291- indexer . save ( )
312+ delegatedStake . lockedUntil =
313+ event . params . thawingUntil > delegatedStake . lockedUntil
314+ ? event . params . thawingUntil
315+ : delegatedStake . lockedUntil
316+ delegatedStake . save ( )
317+ }
292318}
293319
294320export function handleThawRequestFulfilled ( event : ThawRequestFulfilled ) : void {
@@ -469,7 +495,6 @@ export function handleTokensUndelegated(event: TokensUndelegated): void {
469495 delegatedStake . unstakedTokens = delegatedStake . unstakedTokens . plus ( event . params . tokens )
470496 delegatedStake . shareAmount = delegatedStake . shareAmount . minus ( event . params . shares )
471497 delegatedStake . lockedTokens = delegatedStake . lockedTokens . plus ( event . params . tokens )
472- //delegatedStake.lockedUntil = event.params.until.toI32() // until always updates and overwrites the past lockedUntil time
473498 delegatedStake . lastUndelegatedAt = event . block . timestamp . toI32 ( )
474499
475500 let currentBalance = event . params . shares . toBigDecimal ( ) . times ( beforeUpdateDelegationExchangeRate )
0 commit comments