Is there a guideline to verify a Proxy Contract?

Is there a way to verify the Proxy contract manually?

We are planning to verify the proxy contract so we can just stick to one contract that we update details (logo, socmed links, etc). Unlike if we verify the Logic Contract, we will be doing it for several times.

2 Likes

Are you manually changing the proxy contract? I’m not sure if verifying the proxy contract makes so much sense though as it basically is only the logic for managing ownership of the proxy and then delegating the call onto another contract. It would be verified but it would in essence only prove to users that all the action was happening somewhere else- it would not give them any sense of security.

Maybe you can explain a bit more what you’re trying to do? And I’ll cc: @jcarpanelli on this as well.

2 Likes

BTW @superern14 I see this is your first time posting. Welcome to the Forum!

2 Likes

Hi @superern14 welcome to the Community Forum. Thanks for posting :pray:

The ideal situation is for Etherscan to support proxy contracts so that you can view both the verified proxy contract and the logic contract and interact with the contract using Etherscan.

I think there is value in having a verified proxy contract, even if it is just showing transparently that this is an upgradeable contract and then separately getting to explain to your users how this works.

Current state of verify with OpenZeppelin SDK: Verify with OpenZeppelin SDK

1 Like

Hi @Dennison_Bertram,
I was able to verify the contract using the this command

oz verify -n {network} -o --api-key {API_KEY}

My goal was to be able to update the contract’s details that holds something like this in etherscan
image
Without it being verified I won’t be able to update it.
The command really saves me which verified the proxy and logic contracts as well.

Thank you for your time and response.

PS: I noticed that we cannot directly interact with the functions on logic contract after being verified but we can instead access it via truffle console.

I know this is outside the topic If I am to integrate this with web and mobile, will web3.js be sufficient enough to fire the functions?

1 Like

hi @abcoathup!

thank you for all the help. the command really did save me. and I agree with what you’ve said.

1 Like

Hi @superern14

You can interact with your upgradeable contracts using web3.js, see the documentation for an example of this:

https://docs.openzeppelin.com/sdk/2.5/interacting