-
Notifications
You must be signed in to change notification settings - Fork 12
Eth Fees Migration #122
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
Merged
Merged
Eth Fees Migration #122
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,51 @@ | ||
| --- | ||
taylorferran marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| title: Depositing ETH | ||
| sidebar_position: 2 | ||
| --- | ||
|
|
||
| # Depositing ETH to Cluster | ||
|
|
||
| All clusters on SSV Network use native ETH for fee payments to operators and the network. The cluster balance is necessary to reward operators and pay network fees. | ||
|
|
||
| For more information on cluster balance mechanics, please refer to [the dedicated learning page](/stakers/clusters/cluster-balance). | ||
|
|
||
| :::warning Legacy SSV Clusters | ||
| If you have a legacy SSV cluster, you cannot deposit additional SSV. The only way to maintain your cluster is to [migrate to ETH](./migrating-to-eth-clusters.md), which automatically refunds your SSV balance. | ||
| ::: | ||
|
|
||
| ### Connect your Web3 wallet to the WebApp | ||
|
|
||
| Make sure to connect your Web3 wallet with the WebApp, and that the address corresponds with the one you want to manage your Validators with. | ||
|
|
||
| :::info | ||
| **Note:** Your account is associated with your Web3 wallet. | ||
| ::: | ||
|
|
||
| In the My Account page, select an active cluster and then click on the "Deposit" button. | ||
|
|
||
| ETH_FEES_FILLER_TEXT | ||
|
|
||
| In the next screen, you'll be asked to enter the amount of ETH you want to deposit. | ||
|
|
||
| ETH_FEES_FILLER_TEXT | ||
|
|
||
| Once you enter the amount, click on the _Deposit_ button. | ||
|
|
||
| ETH_FEES_FILLER_TEXT | ||
|
|
||
| The page will submit a transaction to the SSV Network smart contract. The ETH amount will be included as `msg.value` in the transaction. Check your Web3 wallet to confirm. | ||
|
|
||
| ETH_FEES_FILLER_TEXT | ||
|
|
||
| Now, finalize the deposit to the Cluster by signing the transaction. | ||
|
|
||
| ETH_FEES_FILLER_TEXT | ||
|
|
||
| You'll be taken back to the Cluster page, where the balance will be updated with the deposited ETH amount. | ||
|
|
||
| ETH_FEES_FILLER_TEXT | ||
|
|
||
| :::tip Operational Runway | ||
| Remember to maintain sufficient ETH balance to cover your cluster's operational costs. Monitor your runway regularly to avoid liquidation. | ||
| ::: | ||
|
|
||
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
133 changes: 133 additions & 0 deletions
133
docs/stakers/cluster-management/migrating-to-eth-clusters.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,133 @@ | ||
| --- | ||
| title: Migrating to ETH Clusters | ||
| sidebar_position: 8 | ||
| --- | ||
|
|
||
| # Migrating to ETH Clusters | ||
|
|
||
| Legacy SSV clusters can be migrated to ETH clusters to continue active operations. Migration is the only path forward for maintaining and modifying SSV-based clusters. | ||
|
|
||
| :::danger One-Way Migration | ||
| **Migration from SSV to ETH is permanent and cannot be reverted.** Once you migrate, your cluster will exclusively use ETH for fee payments and cannot return to the SSV payment model. | ||
| ::: | ||
|
|
||
| ## Why Migrate? | ||
|
|
||
| After the network upgrade, legacy SSV clusters have limited functionality: | ||
|
|
||
| **❌ NOT Supported for SSV Clusters:** | ||
| - Adding new validators | ||
| - Depositing additional SSV | ||
| - Removing validators | ||
| - Re-activating liquidated clusters | ||
| - Updating operators (resharing) | ||
|
|
||
| **✅ Still Supported for SSV Clusters:** | ||
| - Running existing validators (until liquidation) | ||
| - Exiting validators | ||
|
|
||
| **✅ Fully Supported After Migration to ETH:** | ||
| - All cluster operations | ||
| - Adding/removing validators | ||
| - Depositing/withdrawing ETH | ||
| - Updating operators | ||
| - Re-activating if liquidated | ||
|
|
||
| ## What Happens During Migration | ||
|
|
||
| When you migrate your cluster to ETH: | ||
|
|
||
| 1. **ETH Deposit**: You deposit ETH to fund your cluster's operational runway | ||
| 2. **SSV Refund**: Your entire SSV balance is automatically refunded to your wallet | ||
| 3. **Cluster Conversion**: Your cluster switches to ETH-based fee accounting | ||
| 4. **Continued Operation**: Your validators continue running without interruption | ||
|
|
||
| :::info Automatic SSV Refund | ||
| You do **not** need to manually withdraw SSV before migrating. The migration process automatically returns your full SSV balance to your wallet address. | ||
| ::: | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| Before migrating, ensure you have: | ||
|
|
||
| - Access to the wallet that owns the cluster | ||
| - Sufficient ETH to cover: | ||
| - Initial cluster funding (operational runway) | ||
| - Gas fees for the migration transaction | ||
|
|
||
| :::tip Operational Runway | ||
| We recommend depositing enough ETH for at least 90 days of operations to avoid frequent top-ups. | ||
| ::: | ||
|
|
||
| ## Migration Process | ||
|
|
||
| ### Via WebApp | ||
|
|
||
| :::info Coming Soon | ||
| The SSV WebApp will provide a guided migration flow. | ||
| **SCREENSHOTS/gUIDE TO FOLLOW IN ANOTHER PR** | ||
| ::: | ||
|
|
||
| ### Via Smart Contract | ||
|
|
||
| If you prefer to migrate directly via the smart contract, use the `migrateClusterToETH()` function: | ||
|
|
||
| ```solidity | ||
| function migrateClusterToETH( | ||
| bytes calldata publicKey, | ||
| uint64[] calldata operatorIds, | ||
| Cluster calldata cluster | ||
| ) external payable | ||
| ``` | ||
|
|
||
| **Parameters:** | ||
| - `publicKey` - Public key of any validator in the cluster | ||
| - `operatorIds` - Array of operator IDs managing the cluster | ||
| - `cluster` - Current cluster snapshot | ||
| - `msg.value` - ETH amount to deposit for operational runway | ||
|
|
||
| **The transaction will:** | ||
| 1. Validate your cluster snapshot | ||
| 2. Transfer your SSV balance back to your wallet | ||
| 3. Accept your ETH deposit | ||
| 4. Convert the cluster to ETH-based accounting | ||
| 5. Emit `ClusterMigratedToETH` event | ||
|
|
||
| :::warning Cluster Snapshot Required | ||
| You need the current cluster snapshot (balance, index, active status, etc.) to call this function. Retrieve this from the [SSV Subgraph](/developers/tools/ssv-subgraph/subgraph-examples#cluster-snapshot) or [SSV Scanner](/developers/tools/ssv-scanner). | ||
| ::: | ||
|
|
||
| ## After Migration | ||
|
|
||
| Once migration is complete: | ||
|
|
||
| ✅ **Your cluster is now ETH-based** and has full functionality | ||
|
|
||
| ✅ **Your SSV balance has been refunded** to your wallet | ||
|
|
||
| ✅ **You can:** | ||
| - Add new validators to the cluster | ||
| - Deposit or withdraw ETH as needed | ||
| - Update operators (reshare) | ||
| - Remove validators | ||
| - Perform all standard cluster operations | ||
|
|
||
| ## FAQ | ||
|
|
||
| **Q: What happens to my SSV balance?** | ||
| A: Your full SSV balance is automatically refunded to your wallet during migration. You don't need to withdraw it first. | ||
|
|
||
| **Q: Can I migrate back to SSV after migrating to ETH?** | ||
| A: No. Migration is one-way and permanent. | ||
|
|
||
| **Q: Will my validators experience downtime during migration?** | ||
| A: No. Your validators continue running without interruption throughout the migration process. | ||
|
|
||
| **Q: What if I have insufficient SSV runway before I can migrate?** | ||
| A: Ensure you deposit sufficient SSV in advance to maintain operations until you complete the migration. If your cluster is liquidated before migration, you'll need to reactivate it with ETH directly. | ||
|
|
||
| **Q: Do I need to inform my operators about migration?** | ||
| A: No. Operators can serve both SSV and ETH clusters during the transition. Your migration happens automatically from their perspective. | ||
|
|
||
| **Q: Can I deposit more ETH after migrating?** | ||
| A: Yes. After migration, you can [deposit ETH](./depositing-eth.md) at any time to extend your operational runway. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.