You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(1) Right now, if a bug is discovered in a level, the code needs to be fixed and the level re-deployed.
Ethernaut remembers which levels a player has passed, so this would mean that all history for a level is lost when it is re-deployed.
(2) Also, as Solidity matures, the levels will contain old code. It'd be nice to be able to update pragma versions on a level without losing history.
(3) And finally, newer levels will likely want to use newer dependencies like OpenZeppelin 2.x, which introduce breaking changes for contracts with old code. So, unless the code in these old contracts can be updated, Ethernaut's OpenZeppelin dependency has to remain at 1.x.
The text was updated successfully, but these errors were encountered:
Three strong reasons to do this:
(1) Right now, if a bug is discovered in a level, the code needs to be fixed and the level re-deployed.
Ethernaut remembers which levels a player has passed, so this would mean that all history for a level is lost when it is re-deployed.
(2) Also, as Solidity matures, the levels will contain old code. It'd be nice to be able to update pragma versions on a level without losing history.
(3) And finally, newer levels will likely want to use newer dependencies like OpenZeppelin 2.x, which introduce breaking changes for contracts with old code. So, unless the code in these old contracts can be updated, Ethernaut's OpenZeppelin dependency has to remain at 1.x.
The text was updated successfully, but these errors were encountered: