A two-day-old decentralized cryptocurrency called YAM collapsed this week after its creators revealed that a software bug had effectively vetoed human governance. From a report: “At approximately 6PM UTC, on Wednesday, August 12, we discovered a bug in the YAM rebasing contract that would mint far more YAM than intended to sell to the Uniswap YAM/yCRV pool, sending a large amount of excess YAM to the protocol reserve,” the YAM project explained in a post on Thursday. “Given YAM’s governance module, this bug would render it impossible to reach quorum, meaning no governance action would be possible and funds in the treasury would be locked.”
The bug followed from this line of code…
totalSupply = initSupply.mul(yamsScalingFactor);
…which was supposed to beâ¦
totalSupply = initSupply.mul(yamsScalingFactor).div(BASE);
YAM, a decentralized finance experiment, implements a governance system (for making protocol changes) based on supposed smart contracts that allocates votes based on assets. […] The code flaw locked up about $750,000 worth of Curve (yCRV) tokens in the YAM treasury, assets intended to serve as a reserve currency to support the value of YAM tokens.