Melon v1.0.1: bug fixes and security patch

It has now been 3 weeks since the release of the Melon protocol v1.0: time for an update.

We are releasing today a patched version of Zahreddino: v1.0.1. The release mostly contains frontend bug fixes and additions (see release notes: https://github.com/melonproject/melon-lab/releases/tag/v1.0.1).

In addition to that, the release runs on a new protocol version, as we discovered an issue on the Solidity compiler that was affecting the Melon protocol.

While monitoring the network activity, we discovered what initially appeared to be a bug in our 0x exchange adapter. After further investigation, it turned out that the bug’s origin was inside the Solidity compiler itself. The implication was that under specific circumstances, one could observe temporary accounting discrepancies on some funds that had open orders on ZeroEx; we classify the severity of the issue as medium.

While we have fixed our contracts independently of the compiler issue (release v1.0.1), the Solidity team has also released a fix to the ABIEncoderV2. If you want to get down to the nitty-gritty, head over here: https://blog.ethereum.org/2019/03/26/solidity-optimizer-and-abiencoderv2-bug/

All funds deployed on v1.0.0 are affected by the aforementioned issue. Therefore, all funds created on v1.0.0 are kindly required to shut down on v1.0.0 and re-deploy it on v1.0.1.

Funds created on v1.0.0 will not be accessible through v1.0.1 of the UI, for security purposes. To access your fund on v1.0.0, you need to use the UI available here: https://github.com/melonproject/melon-lab/releases/tag/v1.0.0 (we will also release a frontend version containing some bug fixes, running on the v1.0.0 of the contracts).

PS: Fund name ownership is persistent across versions. This means that if you created a fund with a name you care about in v1.0.0, you (and only you ie. your Ethereum address) can create a fund with the same name on v1.0.1 and any future versions).

PPS: The monitoring tool shows funds existing on both v1.0.0 and v1.0.1 and indicates on which version a fund is running.