Reserve Rights (RSR) contract update scheduled for 01/13/2022
With the mainnet launch of the Reserve protocol nearing, we will be updating the Reserve Rights (RSR) contract to its final version on 01/13/2022 11:59 PM UTC.
The new contract address will be: 0x320623b8e4ff03373931769a31fc52a4e78b5d70
If you are currently managing or staking in a liquidity pool that includes RSR (e.g. the Uniswap RSR/WETH pair), please read this post very carefully, as inaction will lead to a permanent loss of funds!
Why is this contract update needed?
Since 2019, we’ve been planning to upgrade the RSR token one final time at mainnet launch, with any functionality needed for the full protocol. We anticipated adding motability, but as it turns out, the ability to mint RSR has been stricken from the protocol, so that won’t be necessary, and the final changes are relatively minimal. The main change is a function called ERC20Permit, coming from EIP-2612, which will allow staking of RSR in one step, instead of having to do a separate “allow” transaction each time.
Many early team members or investors used a function called “lockMyTokensForever” — which effectively froze their RSR tokens until this token upgrade. Those tokens will become transferrable again upon performing this final upgrade. At the point of full protocol deployment, all admin control over the RSR token will be given up irrevocably.
What do I need to do as an RSR holder?
If you are currently holding RSR in a centralized exchange or popular wallet (both software or hardware), no action will be required from your end. The Reserve team is currently in the process of contacting all relevant entities to update RSR’s contract address, which will result in your RSR balance automatically being updated to the new contract.
However, if you are currently staking RSR on a decentralized platform such as Uniswap, Balancer or Bancor, you need to withdraw your staked funds before 01/13/2022 11:59 PM UTC or your funds will be irreversibly locked forever.
The reason behind this is that these decentralized platforms use hardcoded contract addresses for each pool. After 01/13/2022 11:59 PM UTC, the current RSR contract (used in these pools) will no longer allow any sort of transaction.
What happens if I don’t withdraw my RSR from these decentralized platforms?
Your RSR will be irreversibly locked in the staking pool forever with no option for reimbursement. Trying to interact with the current RSR contract after 01/13/2022 11:59 PM UTC will result in a transaction reversal and will still charge ETH for the gas fee. In some pools, for example on Uniswap, the other tokens you have in the pool will also not be withdrawable, so you would lose both your RSR and, for example, WETH.
What if I hold RSR in a lesser known wallet?
The Reserve team is in the process of contacting all the most popular wallet apps to update the RSR contract. If you are using one of them, your RSR balance will automatically be updated without your intervention.
However, if you are holding RSR in a lesser known wallet, you will need to manually add the new RSR contract address as a new token to the wallet after 01/13/2022 11:59 PM UTC.
We will be releasing a list of wallets in which RSR balances will automatically be updated on the Reserve Twitter page as soon as possible.
The new contract address will be established a few days before 01/13/2022. We will publish it on the Reserve Twitter page as well, and update this blog post as a point of reference.
What do I need to do as an exchange/wallet/staking pool manager that holds RSR?
If you are currently managing an exchange, wallet or staking pool that includes RSR, you will need to update the RSR contract to the new contract address as soon as possible after 01/13/2022 11:59 PM UTC in order to continue to support RSR deposits/withdrawals.
For any further questions on this contract update, please contact @RSVSinatra on Telegram.
How exactly will the RSR token transfer happen?
The transfer of tokens from the old RSR contract to the new one will be entirely automatic. The new RSR contract is aware of the old RSR contract, and it will simply use the old RSR’s balances as the starting balances of new RSR accounts.
This is simply done by overriding how
balanceOf work in the new RSR contract. The intrepid reader is welcome to read our source code to see exactly how this is done.
📚 Would you like to know more about Reserve? Read about our project here.