ZetaClient v1 go-live tracker
This issue centralizes tasks and processes for ZetaClient v1 go-live on testnet and mainnet.
Summary
The ZetaClient v1 release will include multiple features and improvements for protocol contracts, this will requires multiple protocol contracts upgrade for the different chains that we supports.
Necessary upgrades
- EVM: the connected EVM chains must upgrade their contract for the v15-to-be to include support for multiple deposits per inbound feature
- Solana: multiple fixes has been included in Solana, Solana must upgrade the gateway to v5
- Sui: support for authenticated calls has been added to Sui gateway, the gateway must be upgraded to v2
No change has been implemented for the TON gateway and no upgrade is needed for TON
Below are the list of playbooks describing the process for the following contract upgrades:
- EVM: https://www.notion.so/zetachain/Upgrading-EVM-Protocol-Contract-1347b3fb904980f09691d111e1130885?source=copy_link
- Solana: https://www.notion.so/zetachain/Upgrading-Solana-Protocol-Program-20f7b3fb9049804a8164c09bec110b4d?source=copy_link
- Sui: https://www.notion.so/zetachain/Upgrading-Sui-Gateway-1d67b3fb904980d9b968dc44e329a16f?source=copy_link
Process
EVM
The gateway upgrade will add new fees when doing multiple deposits in same tx for spam purpose. As a consequence, ZetaClient will remove its guard for multiple deposits. It is crucial that the gateway is upgraded when the guard is removed on ZetaClient. Therefore the EVM gateway should be upgraded before on each EVM connected chains before ZetaClient. It can be upgraded anytime before as there is no breaking interface between ZetaClient interaction and the contracts.
Note: a feature flag allow to set back the guard on ZetaClient on live network even after upgrade. This can be used as a security measure.
Solana
The gateway upgrade will have new changes and break compatibility for withdraws. Solana withdraws will have to be paused between ZetaClient and Solana gateway upgrade, and then resumed.
Sui
The gateway upgrade will break compatibility for withdrawAndCall feature. Currently withdrawAndCall is disabled on mainnet, therefore no pausing will be necessary on Sui, the regular withdraw will still be functional. After the ZetaClient and gateway upgrade, the ZetaChain EVM will have to be patched to enable Sui withdrawAndCall.
Overview
- Upgrade EVM gateway to v15 on EVM chains
- Pause Solana withdraws
- Upgrade ZetaClient
- Upgrade Solana gateway
- Unpause Solana withdraws
- Upgrade Sui gateway
- Enable Sui withdrawAndCall on ZetaChain gateway
Testnet
- [x] ZetaClient upgrade
- [x] EVM upgrade
- [x] Solana upgrade
- [x] Sui upgrade
Mainnet
- [ ] ZetaClient upgrade
- [ ] EVM upgrade
- [ ] Solana upgrade
- [ ] Sui upgrade
@lumtis will you be primarily responsible for smart contract upgrades?
@lumtis will you be primarily responsible for smart contract upgrades?
Testnet it will be Srdjan and I. Mainnet will be Srdjan and I for deployment, Chris for proposal voting.