Forum

Switch to the governance account for the xDai bridge on the xDai chain

Hi xDai bridge governors,

Since Gnosis has run the Gnosis Safe on the xDai chain, we would like to finish the migration to the new xDai bridge governance account by changing the ownership of the bridge contracts on the xDai chaim.

So, in this post we propose to migrate to the account 0x7a48Dac683DA91e4faa5aB13D91AB5fd170875bd that corresponds to the following Gnosis Safe https://xdai.gnosis-safe.io/app/#/safes/0x7a48Dac683DA91e4faa5aB13D91AB5fd170875bd/settings. Please double check that the list of the owners in this Gnosis Safe matches with the list of the owners of the Safe https://gnosis-safe.io/app/#/safes/0x42F38ec5A75acCEc50054671233dfAC9C0E7A3F6/settings that was already activated as the governance account on the Ethereum Mainnet side of the bridge.

After switching, the owners of the current governance multisig 0x0D3726e5a9f37234D6B55216fC971D30F150a60F WILL NOT BE ABLE anymore to perform:

  • upgrade of the xDai bridge contract on the xDai chain
  • upgrade of the xDai bridge validators contract on the xDai chain
  • change the parameters on the xDai bridge contract like limits, finality threshold, gas price fallback etc.
  • change the parameters on the xDai bridge validators contract like validators set, signatures threshold.

All these actions will be managed through the new governance Gnosis Safe account.

If you agree to switch the governance account to [0x7a48Dac683DA91e4faa5aB13D91AB5fd170875bd please perform the following:

  1. Import your xDai bridge validator private key to the MetaMask or NiftyWallet.
  2. Visit the multisig wallet contract in the BlockScout. Connect the current MM/NF account to Web3. (BTW, you can use https://wallet.gnosis.pm/ to access to the multisig wallet)
  3. Enter to the field next to the method confirmTransaction the transaction ID 12.
  4. Press the “Write” button.
  5. In the MM/NW section change the gas to 500’000 and confirm the transaction.
  6. Enter to the field next to the method confirmTransaction the transaction ID 13.
  7. Press the “Write” button.
  8. In the MM/NW section change the gas to 500’000 and confirm the transaction.
  9. Enter to the field next to the method confirmTransaction the transaction ID 14.
  10. Press the “Write” button.
  11. In the MM/NW section change the gas to 500’000 and confirm the transaction.
  12. Enter to the field next to the method confirmTransaction the transaction ID 15.
  13. Press the “Write” button.
  14. In the MM/NW section change the gas to 500’000 and confirm the transaction.

If you have any question or issues appeared during the described steps, write a note below this forum post. As soon as you send a transaction with confirmation, reply to this message.

These are transactions the multisig participant from the xDai project made to initialize the suggested changes:

  1. To update the configuration admin in the bridge contract on the xDai chain: https://blockscout.com/poa/xdai/tx/0x9057001994b1616fc1bde1f336813ee2cf3a141d51e2774a081853f0519e65c0/logs. It suggests to execute 0xf2fde38b0000000000000000000000007a48dac683da91e4faa5ab13d91ab5fd170875bd on 0x7301CFA0e1756B71869E93d4e4Dca5c7d0eb0AA6 that corresponds to the call transferOwnership(0x7a48Dac683DA91e4faa5aB13D91AB5fd170875bd).

  2. To update the upgrade admin in the bridge contract on the xDai chain: https://blockscout.com/poa/xdai/tx/0x979e68d1e14c53c80f51b552e930cfd40f2030cca9338a00427b62f75a8cd9ee/logs. It suggests to execute 0xf1739cae0000000000000000000000007a48dac683da91e4faa5ab13d91ab5fd170875bd on 0x7301CFA0e1756B71869E93d4e4Dca5c7d0eb0AA6 that corresponds to the call transferProxyOwnership(0x7a48Dac683DA91e4faa5aB13D91AB5fd170875bd).

  3. To update the configuration admin in the bridge validators contract on the xDai chain: https://blockscout.com/poa/xdai/tx/0xfa8afe7a79c65de2ab2eec682bebcde0cf2d846a9c73806d5a422bddded5a4ee/logs. It suggests to execute 0xf2fde38b0000000000000000000000007a48dac683da91e4faa5ab13d91ab5fd170875bd on 0xB289f0e6fBDFf8EEE340498a56e1787B303F1B6D that corresponds to the call transferOwnership(0x7a48Dac683DA91e4faa5aB13D91AB5fd170875bd).

  4. To update the upgrade admin in the bridge validators contract on the xDai chain: https://blockscout.com/poa/xdai/tx/0x336317c13c7a30f14dc4afe766e0b63fded1829eb5864c65e632395e6b65ea58/logs. It suggests to execute 0xf1739cae0000000000000000000000007a48dac683da91e4faa5ab13d91ab5fd170875bd on 0xB289f0e6fBDFf8EEE340498a56e1787B303F1B6D that corresponds to the call transferProxyOwnership(0x7a48Dac683DA91e4faa5aB13D91AB5fd170875bd).

The correspondence of the ABI encoded method call to the human readable form of the call can be checked if you take ABI:

[
  {
    "constant":false,
    "inputs":[
      {
        "name":"newOwner",
        "type":"address"
      }
    ],
    "name":"transferProxyOwnership",
    "outputs":[
      
    ],
    "payable":false,
    "stateMutability":"nonpayable",
    "type":"function"
  },
  {
    "constant":false,
    "inputs":[
      {
        "name":"newOwner",
        "type":"address"
      }
    ],
    "name":"transferOwnership",
    "outputs":[
      
    ],
    "payable":false,
    "stateMutability":"nonpayable",
    "type":"function"
  }
]

and use it on the service: https://abi.hashex.org/#

@geleeroyale/@GriffGreen, @mgarcia/@ArseniiPetrovich and @mariano.conti/@savdao please take into consideration.

You will need to submit 4 transactions to the xDai chain.

Protofire has submitted the TXs

12: https://blockscout.com/poa/xdai/tx/0xe393f441a2f792ba4617b622dd81ae0bc67458896a82a6d173814a2cf4195307/internal-transactions

13: https://blockscout.com/poa/xdai/tx/0xc64f6af5a36466bc71d636d218002e20870624df73bd12deeb8388408c1f863a/internal-transactions

14: https://blockscout.com/poa/xdai/tx/0x7201e81b005847a13deb6992785ec5df3feeffd437053a36be6d3e618189b62c/internal-transactions

15: https://blockscout.com/poa/xdai/tx/0x3ed88014d7d446f963bf60fbd429d314a136c2e7fb5fe8af3e193e91c53bc6c4/internal-transactions

2 Likes