[Multisig] Celo Safe (re)launch

Hi, we are @dckesler, @nicolasbrugneaux, @martinvol, @alvarof2, @lvpeschke and me (all at cLabs) :wave:

With this post, we’d like provide a timeline and some much required context on the (re)launch of Celo Safe (safe.celo.org) on Celo.

TLDR

  • We are re-forking and re-deploying Celo Safe (a version of Safe, formerly “Gnosis Safe”, on Celo)
  • By Wednesday, November 16 you can expect a fully functioning deployment of Celo Safe on Mainnet at safe.celo.org

More details (FAQ)

What is Celo Safe?

Celo Safe is a fork of Safe (formerly “Gnosis Safe”) deployed on Celo.

Why is it a relaunch?

Celo Safe was previously forked from Safe and a beta version was deployed on Celo. Over time, the deployment fell behind on upstream changes in the original Safe repositories.

Instead of merging upstream changes from the Safe repositories, we decided to re-fork Safe and re-deploy Celo Safe using the latest forked version.

Will my existing Safe still work?

Yes! This is only a cosmetic change on the surface.
Celo Safes are controlled by your keys and the existing smart contracts they control are unchanged.

What exactly are you doing?

Here are the necessary components for a fully functioning Celo Safe deployment, what they do and what work is required until the (re)launch on November 16.

Other questions?

As always, all comments and reflections welcome! :pray:

8 Likes

Looks good to me, however…

Is it possible to simply petition Gnosis to launch Celo as a supported network on Safe themselves and manage the entire process? Keeping connected to upstream changes is always going to be an issue otherwise?

1 Like

+1, that would be ideal. We are in contact with the Safe team regarding this question.
One idea is to do the configuration and deployment on Celo and enquire if they would be willing to own it going forward, now that the main bulk of the work is done.

To be specific, how did you envisage we petition the Safe team to launch on Celo?

1 Like

Pretty much as you are, I suppose. I know they explicitly say they can’t or wont support every EVM-compatible chain and testnet out there, but in my opinion Celo is a fairly glaring omission from the network menu. Perhaps there’s some conflict of business interest as xDai / Gnosis chain has some of the same selling points as Celo.

1 Like

Sounds good, let’s see what they say when we deploy :+1:

That sounds quite good. With this upgrade, would Celo Safe integrate w/ celo.explorer or celoscan.io so it can identify verified contracts? Specifically, this would be applied when users want to submit a transaction related to contract interaction - and such integration would avoid the need for pasting the contract’s ABI for verified contracts.
Thanks

1 Like

Hi @0xarthurxyz

Will Celo Safe support Safe plugins?

I am particularly interested in SafeSnap - snapshot

1 Like

With this relaunch, will I be able to recreate a safe that was launched on another chain with the same address?

1 Like

Great question! Honest answer, unfortunately I don’t know sorry :man_shrugging:
We’re doing Celo Safe Beta Testing, so you could test this yourself and let me know if it works.
If it doesn’t, we can add this feature request to the backlog :+1:

1 Like

Good question (and very nice to see you @josh! :slight_smile: :wave:). In general, Celo Safe will support applications :white_check_mark: But you never know, so to be realistic I would caution there are often hidden quirks that make things not 100% compatible out of the box. We’re doing Celo Safe Beta Testing, so if you’re interested, I’d love your feedback on how the beta deployment works :pray:

For transparency, in this first release (due latest Nov 16), we prioritised launching a production-grade standard version of Celo Safe on mainnet/alfajores, over adding various custom features. That means applications will not automatically be available.

In general, we have been wondering how to process new application requests. In my mind, cLabs isn’t a bottleneck in an ideal world and we can enable the community to add applications, but I’m not sure how the Safe team does this on Ethereum. Do you have any ideas around that?

2 Likes

Great question, honest answer, unfortunately I don’t know.
I took a look at a hacky loom video showing how to do this on certain L1s, but I can’t confirm this will work on Celo Safe. But we’re doing Celo Safe Beta Testing , so if you’re interested, you could try this out and let us know if it works.

Brief update

  • We’re on track for Nov 16 release :partying_face:
  • We’re doing Celo Safe Beta Testing :technologist: If you’re interested, we’d love your feedback on how the beta deployment works.

(:point_down:Might see some feedback/bugs from beta testers below :point_down:)

1 Like

Bug Report

I’m not able to create Celo Safe on Alfajores Network.

Steps to reproduce:

  1. Connect wallet and change network of app to Alfajores
  2. Click Create New Safe.
  3. Click on Continue
  4. Click on continue at stage “Name”
  5. Click on continue at stage “Owners and confirmations”
  6. Error will come here

Video recording: Loom | Free Screen & Video Recording Software | Loom

Expected Behaviour:

I should progress to next stage: “Review”

Note:

This error will not occur if I’m on Celo network.
I debugged a bit and the error says, invalid Safe Proxy Factory address.

Screenshots:

1 Like

Celo Safe deployed but the App is stuck

On Celo network, I created a safe, the transaction is successful with 74 blocks confirmation, but the app says “Step 1/2: Waiting for transaction confirmation.”

Steps to reproduce

  1. Connect Wallet to the app. The network should be Celo
  2. Click on Create New Safe
  3. Click on Continue at stage 1
  4. Click on Continue at stage “Name”
  5. Click on Continue at stage “Owners and confirmations”
  6. Click on Continue at stage “Review”
  7. Confirm transaction and wait for transaction to be confirmed.
  8. The transactions should have completed but the App is stuck.

Transaction: CELO Transaction Hash (Txhash) Details | CeloScan
Celo Safe Address: celo:0x64488eC3b861F9c4bCe6bb720c467f0B9f3e4C85
Owner Address: 0xADC81e65845cEca5B928fdd484A38B98E5f418B0

Expected Behaviour

I should be take to the Celo Safe app where I can interact and see my newly created Celo Safe.

Note:
I did some debug, I found the API is returning Error 404 and the response is code 42.

Screenshots

3 Likes

Thank you so much for the bug report with a video recording, it made the investigation a breeze!
The issue came from a missing address specifically for alfajores in the node_modules patches. It should be fixed :slight_smile:

1 Like

Thank you for the super (super!) detailed bug reports @mihir :100: Really appreciate it! :pray:

1 Like

I appreciate the work done by Celo Team. I will play around with the app more tomorrow. Will share more feedback or Bugs I find.

1 Like

Happy to support the great work Celo team is doing.

1 Like

I don’t know for sure, but I would say… “maybe”. If you do some tricks like roll your nonce (on Celo) to the same value it was before creating a Safe on say, Ethereum, and then create the Safe, it might work, depending on how the create contract function is performed on Celo Safe. You would need to be using the same address derivation scheme on both networks also, I imagine.

You could try it out on Alfajores, and Baklava, get two shots at it to get it right?

Thanks, @0xarthurxyz and team, for working on this! I’m a frequent user of Celo Safe and see the value in having a more updated and stable deployment.

I’m also a SafeDAO Delegate and would love to support efforts to get Safe to Celo natively - I think it will take a bit more before SafeDAO stabilizes. Still, I could see this happening in a couple of months! Just let me know how I can help.

2 Likes