Accruespenaltyminterā for missed update collateral intervals and/or excessOwedMminterā if present before CVminterā is updated
Called at least once per updateCollateralInterval by Minter or missedCollateralUpdatePenalty is imposed on the entire activeOwedMminterā since the collateral of minter is 0 if failing to call updateCollateral once per updateCollateralInterval
GetsupdateCollateral message digest for each validator signature
Verifies that each signature is valid, unique, and is not in the future, and is coming from TTG-approved validator
Verifies that at least updateCollateralThreshold of valid unique signatures of TTG-approved validators were provided and Finds the minimumTimestamp of given validators' timestamps[] .
Calculates current activeOwedMminterā, and ImposesmissedCollateralUpdatePenaltyminterā for every missed and not yet penalized update collateral interval. UpdatespenalizedUntilTimestampminterā if a penalty was imposed.
missedCollateralUpdatePenaltyminterā=activeOwedMminterāāmissedIntervalsNumāpenaltyRate where penalizeFromminterā=max(lastCollateralUpdateminterā,lastPenalizedUntilminterā)missedIntervalsNum=(nowāpenalizeFromminterā)/updateCollateralIntervalpenalizedUntilTimestampminterā=penalizeFromminterā+missedIntervalsNumāupdateCollateralInterval
Calculates current excessActiveOwedminterāImposesundercollateralizationPenaltyminterā if excessActiveOwedMminterā>0 and penalizeFromminterā<minimumTimestamp where excessActiveOwedMminterā=activeOwedMminterāāmaxAllowedActiveOwedMminterāpenalizeFromminterā=max(lastCollateralUpdateminterā,lastPenalizedUntilminterā)
activeOwedMminterā+=undercollateralizationPenaltyminterātotalActiveOwedM+=undercollateralizationPenaltyminterā
After penalization new activeOwedMminter,t1ā=activeOwedMminter,t0ā+undercollateralizationPenaltyminterā
Resolves pending retrievals. Deducts the amount of retrieval from totalPendingCollateralRetrievalsminterā for every retrieval. DeletesretrievalId from pendingCollateralRetrievalsminterātotalPendingCollateralRetrievalsminterāā=āiāretrievalminter,retrievalId[i]ā
Verifies that minimumTimestamp is greater than earliestAllowedTimestampminterālastUpdateTimestampminterā=max(lastCollateralUpdateminterā,latestProposedRetrievalTimestampminterā)minUpdateCollateralInterval=min(updateCollateralInterval,now)earliestAllowedTimestampminterā=max(lastUpdateTimestampminterā,nowāminUpdateCollateralInterval)