OpenZeppelin / OpenZeppelin/openzeppelin-upgrades

Let users ask for a new ProxyAdmin to be created or detect when ownership of it was transferred

Open
#136 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
658
Forks
286
PR merge metrics
No merged PRs in 30d

Description

I don't want to be prescriptive with this, so I'll do my best to explain the use case instead of suggesting solutions as in the title :).

  1. I deploy an upgradeable contract (C1) using deployProxy.
  2. I then transferOwnership of the ProxyAdmin to a multisig (let's call it M1).
  3. I now deploy another contract (C2) using deployProxy.
  4. I want another multisig (M2) to control this contract, but the underlying ProxyAdmin is now owned by M1.

So what I'd need in that case is to deploy C2 using a brand new ProxyAdmin that the deployer account controls. In practice, I solved the issue by deleting the .openzeppelin folder, which made the plugin create a new ProxyAdmin for me. But it's a hacky solution.

It'd be nice to be able to ask for a new ProxyAdmin to be created, for the plugin to detect that I'm no longer owner of the current one and/or to get a warning that I'm using a ProxyAdmin that I no longer control.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the deployProxy entry point and review how the .openzeppelin folder selects or creates ProxyAdmin instances. Trace the transferOwnership case and clarify whether the intended behavior is an explicit new-ProxyAdmin request, ownership detection, or a warning. Done means the chosen behavior is defined for deploying C2 after ownership moves to M1.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
blockchain, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.