As part of the merge process between NU and KEEP networks that originated Threshold, legacy stakers were facilitated their integration into the new network by ad-hoc staking connectors. The goal was to provide an almost seamless experience that didn’t require unstaking from the legacy networks.
After successfully supporting legacy staking for almost 2 years, it’s increasingly clear that keeping support for these legacy connections is becoming a liability, not only in terms of development complexity (e.g., the Threshold staking contract can barely fit a few more bytes of code), but also in terms of precious time from development teams, and perhaps more dramatically, as a liability in the form of increased attack surface.
This proposal intends to drop support for legacy staking connectors; specifically, it proposes to authorize the Threshold Council, as owner and upgradeability admin of the Threshold staking contract, to perform the actions that are necessary to implement these changes, including upgrades to the staking contract itself (see https://github.com/threshold-network/solidity-contracts/pull/153 as a first step for this). In addition, there’s a series of additional adjustments that need to be made to the rewards calculation procedures in order to ensure that legacy stakers don’t see their rewards disrupted, as long as they keep staking with native T (see Drop support for legacy KEEP stakes · Issue #141 · threshold-network/solidity-contracts · GitHub for more information).
Hey @davidnunez thanks for this proposal, it is super necessary for the DAO
It is not super clear to me what the calls to action and next steps are, do you mind following our ‘de facto’ template for TIPs? you can find an example in GP-032. Thank you!
Thanks for articulating this, @davidnunez. I agree it’s definitely time for this. Both contributor teams are juggling more than enough between development, governance work like this, answering community questions, etc.
And I’m happy to help get this into the format per @Luna5’s note if needed!
3 days for comment / discussion on this proposal.
Token holder DAO Snapshot with a 5-day vote period.
Background
As part of the merge process between NU and KEEP networks that originated Threshold, legacy stakers were facilitated their integration into the new network by ad-hoc staking connectors. The goal was to provide an almost seamless experience that didn’t require unstaking from the legacy networks.
After successfully supporting legacy staking for almost 2 years, it’s increasingly clear that keeping support for these legacy connections is becoming a liability, not only in terms of development complexity (e.g., the Threshold staking contract can barely fit a few more bytes of code), but also in terms of precious time from development teams, and perhaps more dramatically, as a liability in the form of increased attack surface.
Proposal
This proposal intends to drop support for legacy staking connectors; specifically, it proposes to authorize the Threshold Council, as owner and upgradeability admin of the Threshold staking contract, to perform the actions that are necessary to implement these changes, including upgrades to the staking contract itself (see https://github.com/threshold-network/solidity-contracts/pull/153 as a first step for this). In addition, there’s a series of additional adjustments that need to be made to the rewards calculation procedures in order to ensure that legacy stakers don’t see their rewards disrupted, as long as they keep staking with native T (see Drop support for legacy KEEP stakes · Issue #141 · threshold-network/solidity-contracts · GitHub for more information).
Next steps
Development teams will finish to review and merge PRs dropping support for legacy staking contracts:
New contract implementation is deployed to Ethereum Mainnet, including Etherscan verification.
Council upgrades Threshold Staking contract to new contract implementation.
Legacy stakes are disconnected from staking contract. At this point, a grace period starts for allowing them to stake again with native T instead of legacy tokens. This grace period will give enough room for unstaking from the corresponding legacy staking contracts, wrap legacy tokens to T, and stake again.
Rewards calculation scripts are adjusted for legacy stakers that stake again during the allowed grace period.
Thank you to all of the devs who have maintained legacy staking for 2 years! This continuity was critical in the early days of Threshold but it’s time to wind-down legacy staking.
Thank you for bringing this important conversation to the forum @davidnunez. I would like to be a DAO sponsor for this TIP.