ethereum-optimism / ethereum-optimism/optimism

[op-deployer] generate gnosis safe wrapped calldata

Open
#17,173 0 comments 0 reactions 1 assignee Claimed by @bitwiseguy View on GitHub
A-op-deployer
Dominant language
Go
Stars
6.5k
Forks
4k
Avg merge
2d 15h
Merged PRs (30d)
145

Description

# Overview

`op-deployer upgrade` creates calldata for the opcm.upgrade tx, but there is an additional step needed before that calldata can be sent.

Gnosis safe users (most of our users) need to wrap that calldata within a gnosis safe tx, e.g:
```
cast calldata "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)" "" "0" "" "1" "0" "0" "0" "0x0000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000" ""
```

# Questions
1. How do we produce the arg if the safe has a signature threshold of 1?
2. How do we produce the arg if the safe has a signature threshold > 1?
3. Should we try to actually produce the gnosis safe calldata, or just provide clear instructions for the user based on if they fall in [1] or [2] above?
4. How should we support users who don't use gnosis safe (e.g. mcp)? Should we provide instructions for their flow or just make it clear they shouldn't use the gnosis safe instructions?
5. Should we help provide a tenderly simulation link?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.