BMI V1 PATCH 1.0: Major bug fixed; new LP Staking required as a result; and a list of fixed bugs and changes.
On Friday, July 9th, 2021, the Bridge Mutual platform launched with a limited time Coverage Mining Event. In 2 days, the coverage liquidity on the BMI platform exceeded $13M USD and continues to grow! The BMI team would like to thank the community for its amazing support, contributions, and feedback so far!
Below you will find an explanation of a major bug that occurred and was fixed; instructions on how to migrate to the new BMI/ETH LP Staking Pool (V 3.1); and a list of bugs fixed since the launch.
Summary of the major bug that occurred and was fixed:
The launch of the platform and its quick adoption revealed a number of bugs discovered by the team and community (a natural phenomenon during product launches).
The most significant bug had to do with V3 of our LP Staking Pool (BMI/ETH Uni V2 Tokens), which required us to disable claiming rewards and migration from the old LP Staking Pool to the new LP Staking Pool.
Upon launching the main version of the BMI platform and V3 staking, an issue with the BMI/ETH LP staking was discovered. Users who used the migrate function to transfer their LP Staking Tokens from V2 to V3 of the LP Staking Pool were able to claim and withdraw more rewards than they should have been able to.
Only 3 addresses managed to take advantage of the abnormally high rewards. When these 3 addresses claimed rewards, the mitigation mechanism charged them a 90% exit fee, meaning that 90% of the rewards (1.42M BMI) went to the native BMI Staking Pool, and 10% (160K BMI) went to their personal wallets. Luckily, 1 of these 3 addresses belonged to a team member, which is the person that found and reported the bug immediately to the dev team; this team member claimed rewards to mitigate the damage from the bug as much as possible, and was able to recover almost half of all the BMI that could have been lost (75K BMI). Obviously, these tokens have been returned to the project. The other 2 addresses belong to random users; here are their transactions:
A total of 84,265 BMI was given to these two users, or $45,000 USD at the time of writing.
The rest of the 90% of BMI that was taken as an exit fee was sent automatically to the native BMI Staking Pool in the form of extra rewards to existing BMI Stakers. These rewards were meant to compensate LP Stakers over the next 2 months, but instead compensated native BMI Stakers in an extremely rapid fashion. These false rewards were automatically re-staked and combined with the “staked amount” of BMI that users had already staked, giving current BMI Stakers the false impression that the amount of staked BMI they owned was much greater than reality. Because there is a 90 day lockup on native BMI staking, nobody was able to claim any of the extra 1.42M BMI that was improperly distributed. The team was able to extract the excess amount of BMI safely from the native BMI Staking Pool, returning the “staked amount” of everyone back to their proper amounts.
The bug has been fully resolved. All users shall receive the amount of rewards intended in accordance with the rules set for the Coverage Mining Event.
Furthermore, no user funds were lost and the rewards of all the LP Stakers are safe and will be distributed to them properly. The 160K BMI that was extracted from the LP Staking Rewards Pool will be reimbursed to the system, making it as if this bug never happened.
Because upgrading the previous LP Staking Contract (V3) was not possible from a technical level, our team has created a new version of the LP Staking Contract (V3.1). Unfortunately, this means that everyone in the V3 Pool must un-stake their funds from the V3 Pool and stake them in the V3.1 Pool. In addition, all migrations from the V2 Pool are now directed to the V3.1 Pool instead of the V3 Pool.
What you need to know:
- All V3 LP Stakers are kindly requested to un-stake from the V3 LP Pool and stake to the V3.1 LP Pool. There is no “Migrate” button for this function, it must be done manually.
- V3 LP Staking has been clearly marked as an “Expired” pool.
- V2 LP Stakers can use the “Migrate” button to directly migrate into the V3.1 LP Staking contract.
- The addresses that have been staking in the V3 LP Staking Pool will be given 100% of the rewards they would have made over the last 4 days, without any slashing penalty, since the moment that V3 LP Staking became available. This is being done to compensate LP Stakers for the cost and inconvenience of having to un-stake and stake again. These rewards will be distributed in-full some time between Tuesday, July 13th, and Tuesday, July 20th, but no exact time will be given.
- Rewards for V3.1 LP Staking will not begin until Wednesday around 2PM EST July 14th, which is roughly 24 hours from the moment this article was published. This delay in rewards will give people time to un-stake and stake at their own pace without being rushed.
- V3 LP Stakers will be compensated for the 24 hour grace period we are giving people to convert from V3 to V3.1, regardless of when they re-stake their LP Tokens.
Bugs fixed and changes since launch:
- Added BMI to Metamask along with the logo for the token.
- Fixed an issue causing a blank pop-up to appear for some users when attempting to Approve and Stake.
- Fixed a bug related to approving BMI when submitting a claim (slippage).
- Fixed a visual bug causing users to see zero BMI in their pools after migrating.
- Made it so that users can see the rewards they are earning after they stake stkBMI for vBMI.
- Fixed a bug that caused people to earn improper amounts of BMI when staking USDT in the Anchor and Uniswap pools.
- Fixed a bug with Uniswap returning wrong values.
- Fixed a bug that prevented users from purchasing coverage greater than the amount of USDT they had in their wallet.
- Fixed an issue where written text was being replaced with “NaN”, and then unable to be deleted.
- Fixed an issue where the text showing the slashing calculations were incorrect.
- Fixed an issue with un-staking vBMI (huge gas costs and the Metamask anticipation that the transaction will fail).
- Fixed a visual bug where USDT was displayed as being less than $1 USD per token.
- Added information about slashing to the LP staking.