Adds a flushAuctions() function that can be called by anyone.
When called, it iterates through the set and clears out any of the auctions that have been outbid. This should be relatively inexpensive for the sender due to the gas refund of clearing this state and it also reduces the cost of all of the functions that call _getActiveAuctionVatDaiTotal()
Auctions that have been won will still have to be dealt individually. This function does not finalize auctions past their end time due to the higher gas cost involved with that process.
This PR just adds the function. I would imagine that it could be even more effective if it was converted to public and called whenever someone enlists or defects, but I'd need to explore the consequences of that a little further.
Adds a
flushAuctions()
function that can be called by anyone.When called, it iterates through the set and clears out any of the auctions that have been outbid. This should be relatively inexpensive for the sender due to the gas refund of clearing this state and it also reduces the cost of all of the functions that call
_getActiveAuctionVatDaiTotal()
This should be considered as a gas saving device to reduce the likelihood of set size lockup identified in https://github.com/backstop-syndicate/dai-backstop-syndicate/issues/46
Auctions that have been won will still have to be
deal
t individually. This function does not finalize auctions past their end time due to the higher gas cost involved with that process.This PR just adds the function. I would imagine that it could be even more effective if it was converted to
public
and called whenever someoneenlist
s ordefect
s, but I'd need to explore the consequences of that a little further.