I like this proposal. However, I would suggest two things:
-
Make
requestStETHBurn
permissioned. Burning tokens is not part of any custom use cases and is not easy to roll back action. Therefore, to avoid accidental triggering and misinterpretations, I would like to allow only voting to burn tokens. Additionally, it seems like a good idea to splitrequestStETHBurn
into two methods instead of a boolean flagisCover
. -
The mechanism is based on the assumption that the burning of the stETH takes place in one transaction with the oracle report. For this, the contract implements the
IBeaconReportReceiver
interface. Thus, after the deployment and installation of the delegate, this slot will be occupied. I propose to develop in advance a mechanism that supports the ability to install multipleIBeaconReportReceiver
s.