You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The existing Ziliqa 1 staking contract contains quite a few rewards that cannot be withdrawn, because the transaction to withdraw them involves traversing a list which is sufficiently long that doing so exceeds the maximum transaction gas.
One approach is to simply upgrade the SSNList contract. However, this involves spending quite a bit of money on state migration and complexity.
My preferred plan is to:
Pause the SSNList contract on mainnet at zq1/zq2 transition
Total up the amount delegators are due using a script
Wait until 2w after the zq1/zq2 transition (to account for the unbonding period)
Deploy a contract (LegacyRewardWithdrawal) which supports the SSNList interface and allows users to withdraw their totaled up rewards but nothing else
Move the ZIL from the old SSNList contract to the new one.
Change the SSNList proxy contract so that it points to LegacyRewardWithdrawal
Users can then withdraw from the LegacyRewardWithdrawal contract using the same tools as they used to stake using the existing SSNList contract.
For clarity, I would propose that the LegacyRewardWithdrawal contract not require users to unstake first and not require an unbonding period - there is little point since staking in ZQ2 is a separate mechanism and no rewards will be issued to the SSNList contract post ZQ1->ZQ2 migration.
The text was updated successfully, but these errors were encountered:
The existing Ziliqa 1 staking contract contains quite a few rewards that cannot be withdrawn, because the transaction to withdraw them involves traversing a list which is sufficiently long that doing so exceeds the maximum transaction gas.
One approach is to simply upgrade the SSNList contract. However, this involves spending quite a bit of money on state migration and complexity.
My preferred plan is to:
Users can then withdraw from the LegacyRewardWithdrawal contract using the same tools as they used to stake using the existing SSNList contract.
For clarity, I would propose that the LegacyRewardWithdrawal contract not require users to unstake first and not require an unbonding period - there is little point since staking in ZQ2 is a separate mechanism and no rewards will be issued to the SSNList contract post ZQ1->ZQ2 migration.
The text was updated successfully, but these errors were encountered: