ds-pauseis a delegatecall based proxy with an enforced delay. This allows authorized users to schedule function calls that can only be executed once a predetermined waiting period has elapsed. The configurable delay attribute sets the minimum wait time that will be used during the governance of the system.
etabefore which it cannot be executed.
usr: address to delegatecall into
tag: the expected codehash of usr
fax: calldata to use
eta: first possible time of execution (as seconds since unix epoch)
plot: schedule a plan
exec: execute a scheduled plan
drop: cancel a scheduled plan
pausecontract contains the
DSPauseProxycontract in order to allow plan to be executed in an isolated storage context to protect the pause from malicious storage modification during plan execution.
ds-pausewas designed to be used as a component in the Maker Protocol’s governance system in order to give affected parties time to respond to decisions. If those affected by governance decisions have e.g. exit or veto rights, then the pause can serve as an effective check on governance power.
delegatecalloperation in a separate contract with an isolated storage context (DSPauseProxy), where each pause has its own individual proxy.
proxy. Thus when integrating the pause into some auth scheme, you will want to trust the pause's proxy and not the pause itself.
DSPause.delay- when the pause delay is set to the maximum, governance can no longer modify the system.
DSPause.delay- when the pause delay is set to the minimum, it is easier to pass malicious governance actions.