Callable by anyone wishing to burn M on behalf of minter
DecreasesowedMminter by amount. M is subtracted from the caller of this function
If minter is active
Calculates current activeOwedMminter and ImposesmissedCollateralUpdatePenaltyminter for every missed and not yet penalized update collateral interval. UpdatespenalizedUntilTimestampminter if a penalty was imposed
ReducesactiveOwedMminter by activeBurnAmountactiveBurnAmount=min(activeOwedMminter,amount)totalActiveOwedM−=activeBurnAmount
activeOwedMminter−=activeBurnAmount
If minter is inactive and was deactivated
ReducesinactiveOwedMminter by inactiveBurnAmountinactiveBurnAmount=min(inactiveOwedMminter,amount)totalInactiveOwedM−=inactiveBurnAmount
inactiveOwedMminter−=inactiveBurnAmount
BurnsactiveBurnAmount or inactiveBurnAmount of M from the caller of the function, e.g., msg.sender