-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Drop support for legacy KEEP stakes #141
Comments
Snapshot pulled from Threshold subgraph on November 8th, 2023 by @manumonti. This also include authorization amounts:
It would be interesting to run @r-czajkowski's script too, just in case.
Confirmed that no beta staker is a legacy KEEP or NU staker.
This is not a blocker for the upgrade and can be done in parallel. Opened threshold-network/merkle-distribution#95 to track this.
See #153. Please review ASAP @lukasz-zimnoch @pdyraga
cc @manumonti @dimpar @lukasz-zimnoch
KEEP team is better positioned for this @lukasz-zimnoch @pdyraga |
List of legacy KEEP stakes in Threshold pulled using @r-czajkowski script on November 8th:
According to
According to AllTheKeeps, only two grants are still vesting (both will complete January 18 2024) and belong to grantees:
Those grants are not on the above list so they are not used to stake KEEP in Threshold. That said, we can assume all legacy KEEP stakes in Threshold come from already vested grants. |
Updated list (November 21st): No changes, but posting here for reference |
This issue was closed with threshold-network/merkle-distribution#138 |
Goal
KEEP x NU merge proposal requirement was to keep support for legacy KEEP and NU stakes so that no one was left behind. Threshold
TokenStaking
contract has respected this requirement since the very first version deployed in Feb 2022. Unfortunately, this code has a lot of complexity and is often holding us back.This issue aims at eliminating KEEP legacy stake support without leaving any stakers without rewards they are eligible for.
The current state
@r-czajkowski prepared a script checking how many legacy KEEP stakers are in the Threshold Staking contract.
There are 30 legacy KEEP stakes.
8 of them have total stake amount in T equal to 0 and all of them have already undelegated their stakes in KEEP token staking contract. Here are the 8 staking providers:
So we actually have 22 active legacy KEEP stakes in Threshold.
Here is the full list:
Proposition
We will execute the script @r-czajkowski prepared one more time to snapshot the addresses of legacy KEEP stakers. We will ensure none of those stakers are tBTC v2 beta stakers.
We will modify the script calculating rewards to have a special path for the addresses from this list: take into account the amount from
KeepTokenStaking.getDelegationInfo
and the amount staked in T in the ThresholdTokenStaking
contract instead of looking at theAuthorizedIncreased
/AuthorizationDecreased
events.At the same time, we will deploy an update to Threshold
TokenStaking
contract to drop the support for KEEP legacy stakes and set KEEP legacy stake for those addresses to 0.We will keep this logic in the reward calculation script for 3 months. tBTC v2 authorization decrease delay is 45 days and KEEP staking undelegation period is 2 months. Given we drop functions like
notifyKeepStakeDiscrepancy
from Threshold Staking contract, KEEP stakers can undelegate their tokens from KEEP staking contract right away. We will give them one additional month to wrap their KEEP to T and top-up stakes before we remove the special path from the reward calculation script.This approach allows investing the minimum dev time needed but requires very clear communication and community alignment so that all KEEP legacy stakers understand what is going to happen and what they should do.
Outstanding work
Staking with the legacy KEEP staking contract allows using the entire stakeahead for KEEP grantees. Some grantees may not be able to withdraw liquid tokens. As a result, their stake weight may be lower.
Before moving forward with this proposal we MUST confirm how many stakers from the list stake from grants and what is the remaining vesting time for them. We can bypass the problem by adding a stake weight offset in the reward calculation script until their tokens are vested.
The text was updated successfully, but these errors were encountered: