Proposal #5 - Mainnet Unstaking Bug Fix
This proposal describes a bug fix to the staking program on the Ethereum Mainnet, to ensure fair access to any remaining unclaimed rewards in accordance with the staking program defined by LaunchDAO, which launched the Panther protocol and its smart contracts (including
Staking) and was approved by 95.16% of voters. This proposal will allow for any staking rewards on Ethereum Mainnet which were not yet redeemed to be claimed as previously approved.
It is also important to note that all staked tokens are completely safe and unaffected. The bug only affects users’ ability to unstake and claim rewards on the Ethereum Mainnet since the rewards program ended. Nothing on Polygon is affected. Users who have already claimed all their rewards are also unaffected.
The recent completion of Panther’s Classic Staking program on the Ethereum Mainnet was followed by the discovery of an unfortunate bug where the
RewardPoolcontract throws an exception at the time of unstaking tokens, making it impossible for users to unstake them. 3.555M $ZKP issues as rewards are irretrievably locked in the
RewardMastercontract because of this.
This situation denies all current $ZKP stakers on Mainnet the opportunity to access their rewards. As such, the Panther development team is proposing the below fix to ensure that users are able to receive their earned rewards as originally approved by the DAO.
As per the existing DAO governance structure, voting power is calculated by snapshot.org taking a snapshot of the total number of ZKP tokens staked (and/or received via delegation) on both Ethereum and Polygon at the time when the proposal was created.
The Panther team proposes a solution to mint new tokens and allow them to be claimed to match the existing rewards earned. This solution also involves “upgrading” the existing contracts to correct the bug, with the following actions:
- 2.Also on Mainnet, replace the existing
StakeRewardAdvisercontract for the
unstakeaction with a new
StakeRewardController2contract, which bypasses the buggy code in
RewardPool, distributes fairly accrued rewards to existing stakers as specified by the previously approved terms of LaunchDAO proposal #3.
- 3.Release the full 3.556M $ZKP to the
StakeRewardController2contract, so that existing stakers can claim their rewards.