We have two smart contracts right now: one holding data (EtheremonData Contract), one holding interaction functions (EtheremonProcessor Contract).

There are two problems with those contracts:

EtheremonData Contract: provides a few sensitive functions which allows admin to modify users monster. EtheremonProcessor Contract: withdraw function does not have limit, this allows admin to withdraw users fund.

In the next updates, both problems will be solved by a new set of smart contracts. The source codes are uploaded to github for auditing and reviewing, you can find them here.

EtheremonData contains user’s data, so we will not replace it. To prevent admin to use sensitive functions, we will transfer owner to address 0x0. Hence, no one can use those functions.

EtheremonProcessor will be replaced with EtheremonWorld, the updated version of withdraw function only allows admin to withdraw his ETH.

Three contracts EtheremonWorld, EtheremonTrade, EtheremonTransform are only 3moderators of EtheremonData, they can not be updated in the future and they are only 3 addresses can use write-function of EtheremonData.

EtheremonBattle and EtheremonTransformProcessor are updatable and they are not moderators of EtheremonData.

Features in this updates:

Trading, Lending, Borrowing Etheremons

Details for releasing those smart contracts on main net will be updated in a later blog. Please help to review our smart contracts. A bounty in Ether will be rewarded for bug finders and significant contributors.