With old exit function, anybody could leave without any repercussions. E.x. a bad actor does something bad on the whitelist and decides to exit before being challenged and they are transferred back their original unstaked deposit. By increasing the time in which one is required to finalize an exit, we can mitigate this.
Split up exit function into two, initExit() and finalizeExit().
Add two parameters to Parameterizer: exitTimeDelay and exitTimeExpiry. exitTimeDelay represents the first time that the user is allowed to finalize their exit while exitTimeExpiry represents the latest time.
Add tests. Refactor a few tests to contain less state.
With old exit function, anybody could leave without any repercussions. E.x. a bad actor does something bad on the whitelist and decides to exit before being challenged and they are transferred back their original unstaked deposit. By increasing the time in which one is required to finalize an exit, we can mitigate this.
Split up exit function into two, initExit() and finalizeExit().
Add two parameters to Parameterizer:
exitTimeDelay
andexitTimeExpiry
.exitTimeDelay
represents the first time that the user is allowed to finalize their exit whileexitTimeExpiry
represents the latest time.Add tests. Refactor a few tests to contain less state.
Will rebase against develop before final review.