3

Is there any documentation available regarding upgrading my version of Safe if a new release comes out? In other words, how I would update/upgrade which Safe my proxy is pointing to?

Gnosis Safe is currently on version 1.3.0, however suppose a version 1.4.0 or 1.3.X was released? What would be the process of updating to the new version?

Thank you very much!

  • I'm voting to close this question as it's about a third party service. You should ask in their support forums instead. – Lauri Peltonen Mar 10 '22 at 07:04
  • 2
    @LauriPeltonen it's an open source platform/developer tool built on Ethereum so I'd argue about it – mikheevm Mar 11 '22 at 15:19
  • You are correct. But the problem is that there are a million open source projects built on top of Ethereum, and we can't provide support for them here. – Lauri Peltonen Mar 11 '22 at 15:25

1 Answers1

5

Gnosis Safe uses a Proxy/Implementation pattern in its smart contracts. The wallet is a Proxy that forwards calls to the implementation contract using the DELEGATECALL opcode.

The implementation contract address is stored in storage slot 0 of the proxy contract. Upgrading a Safe means switching the implementation contract address to a different one. You can do this by executing a DELEGATECALL operation to a contract that changes the 0th slot of the Safe.
The repository has an example of the migration contract:
https://github.com/gnosis/safe-contracts/blob/main/contracts/examples/libraries/Migrate_1_3_0_to_1_2_0.sol

There's also will be an option to upgrade through the UI

mikheevm
  • 1,075
  • 1
  • 5
  • 11