Infrared vaults migration

Infrared vaults migration

Infrared deployed new smart contracts for BEX vaults to fix a reward calculation issue affecting certain deposit scenarios. This update requires users to migrate their positions.

Users' BEX LP positions and earned rewards are safe and not at risk. There was no loss of funds at any point. This fix was deployed to improve fairness in how rewards are calculated under specific conditions.

iBERA is unaffected. Additionally, Boyco vaults are unaffected. Since these Boyco vaults do not receive Proof of Liquidity rewards yet, their functionality and user funds remain unchanged and completely secure.

What got fixed?

A miscalculation in the prior contract allows users to receive more rewards than intended if harvestVault is called before stake within the same block. This occurs because userRewardPerTokenPaid is not updated properly in this specific sequence of actions. This is known as a "just-in-time" (JIT) issue, where rewards could be unintentionally boosted for new depositors due to timing mechanics.

The issue was identified through internal monitoring. There is no evidence of intentional exploitation, given the specific conditions required to reproduce the behavior.

To prevent further unintended reward distributions, we’ve stopped distributing rewards into the affected vaults and started streaming them to the new ones. Exiting the old vaults and claiming rewards earned up until this point will remain unaffected, ensuring that users can claim their pending rewards and withdraw their funds at any time without disruption.

Deploying the fix

Infrared deployed an updated version of the relevant contracts that properly account for reward distribution in all scenarios. To keep earning rewards, users must manually migrate their staked vault positions to the new contracts. Infrared has no control over user funds, so migration cannot be done automatically. This can be done now on the Infrared UI following the steps in the section below.

We have conducted a thorough review of the updated contracts, and external auditors have reviewed these changes. This is a proactive fix to improve the long-term reliability and fairness of the reward distribution system as we enter the broader expansion phase of Proof of Liquidity. Of course, all future vaults will be unaffected by this.

Next steps for users

There is no rush to claim rewards or migrate; however, migrating to the new vault is simple and will allow you to continue earning rewards. If you have funds staked in an Infrared vault, you will see a migration prompt in the vault’s interface.

Note: You will see your previous balance(s) once you begin the migration process.

To begin, navigate to the vault(s) you're staked with and locate this prompt under the Stake tab (do not go to the Unstake tab):

Stake migration process in Infrared dapp

Then:

  1. Claim earned rewards.
  2. Click Unstake in the alert to withdraw from the old vault.
  3. Approve the new stake amount if prompted.
  4. Click Stake to deposit into the new vault and start earning rewards again.

Note: If the transaction fails, just try again. There may be high traffic at the time you're migrating.

To reiterate, your funds and prior earned rewards are safe. The only downside to not migrating sooner is that you will miss out on future yield, but funds are not at risk in the event you cannot migrate right away.

Transparency and security remain our top priorities. We appreciate your cooperation and will continue providing updates as needed.

If you encounter any issues, please join the Infrared Discord and open a support ticket.


← Blog posts