superfluid-finance/protocol-monorepo

[PROTO-OPS] Upgrade eth-mainnet from 1.8 to 1.11

d10r opened this issue · 3 comments

d10r commented

What

eth-mainnet is lagging behind has 1.8.1 deployed, which doesn't yet have the GDA.

1.9 added GDA
1.10 added DMZForwarder
1.11 disables flowNFTs

flowNFTs were added in 1.6. But on eth-mainnet they were not "enabled" - the zero address is set for flowNFT proxies and logics.

The combination of this factors means the upgrade of eth-mainnet is a special case.

How

  • fork the network, using an archive node to not get "tried node missing" errors after a while
  • run the whole upgrade sequence from start to end, incl. fork testing (forking the fork in this case)

The process:

  • Phase 1
    • deploy gov: npx truffle exec --network eth-mainnet ops-scripts/gov-upgrade-governance.js
    • deploy framework #1: NETWORK=eth-mainnet; OUTPUT_FILE=v1.11.0/$NETWORK.1.addrs npx truffle exec --network $NETWORK ops-scripts/deploy-framework.js
    • verify (manually created addrs file)
    • fork test phase 1: ?
    • execute gov actions "updateGovernance", "registerGda"
  • Phase 2
    • deploy-framework#2: NETWORK=eth-mainnet; NEW_SUPERFLUID_LOADER=1 OUTPUT_FILE=v1.11.0/$NETWORK.2.addrs npx truffle exec --network $NETWORK ops-scripts/deploy-framework.js
    • fork test phase 2: ?
    • verify: NETWORK=eth-mainnet; tasks/etherscan-verify-framework.sh $NETWORK v1.11.0/$NETWORK.2.addrs && tasks/etherscan-verify-framework.sh $NETWORK
    • update loader in metadata
    • deploy GDAForwarder: NETWORK=eth-mainnet; tasks/deploy-gda-forwarder.sh $NETWORK
    • update GDA, GDAForwarder in metadata
    • execute gov action
  • Phase 3
    • deploy BatchLiquidator & update metadata
    • update supertoken logic: ...
    • fork test
    • execute gov action
d10r commented

phase 1 GDA deployed:

SUPERFLUID_POOL_BEACON=0xD48317ccdac2ca3fd5E3c58c32Da3A7c517937B6
SUPERFLUID_POOL_DEPLOYER_LIBRARY=0x67270eB3a30c1a787f216Cf711cF1dBD8326266d
DUMMY_BEACON_PROXY=0x2eaa49BeB4Aa4fcC709DC14c0FA0fF1B292077b5
GDA_LOGIC=0xf8e8ddfC64B83905913881FF8197F034F54f3fd7

and verified.

gov actions for phase 1 ready: https://gnosis-wallet.dev.superfluid.dev/#/wallet/0x5F374f5f5E1EDD5401BdA5D2EBfDbf8e1fBf71f6 (IDs 8, 9)

d10r commented

phase 2 done too.
All gov actions ready.