Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Read as Proxy" & "Write as Proxy" buttons for Contract Verification in HashScan #1207

Open
bmgentile opened this issue Jul 22, 2024 · 7 comments
Labels
enhancement New feature or request

Comments

@bmgentile
Copy link

bmgentile commented Jul 22, 2024

Problem

When verifying contracts, we're unable to have proxy contracts offer the option of "read as proxy" or "write as proxy" (typically displayed as buttons) on Hashscan — this directly links a proxy contract to the contract it is engaging and important for users when performing review of contract verification.

Example: https://arbiscan.io/address/0x794a61358d6845594f94dc1db02a252b5b4814ad#code
An example of a Proxy Contract — we need "Read as Proxy" and "Write as Proxy" buttons displayed on Hashscan

Solution

  • Add "Read as Proxy" and "Write as Proxy" buttons when viewing contract verification + included functionality that fits the example above for Arbscan.

Alternatives

None

@bmgentile bmgentile added the enhancement New feature or request label Jul 22, 2024
@ericleponner
Copy link
Collaborator

When verifying contracts, we're unable to have proxy contracts offer the option of "read as proxy" or "write as proxy"

Could you give us id of your verified contract on hedera network ?

@bmgentile
Copy link
Author

Hey @ericleponner

As an example, this is a Proxy contract - https://hashscan.io/testnet/contract/0.0.4616104?p=1&k=1721737748.124068003
This is the corresponding "implementation" contract - https://hashscan.io/testnet/contract/0.0.4616103?p=1&k=1721645916.344630003

The Proxy contract delegates calls to the implementation contract.

Just so you know, this is just one instance. There are many more Proxy contracts in our suite.

@ericleponner
Copy link
Collaborator

ericleponner commented Jul 23, 2024

Hi @bmgentile
Thanks for the information.
HashScan offers some support for proxy/logic contracts when they are verified.
Have you tried to verify those two contracts ?

See #978

@bmgentile
Copy link
Author

Hey @ericleponner — thanks for flagging that! We're seeing the proxy logic now 👍

Some feedback related to this:
• Our CTO is an experienced EVM / solidity developer building, deploying, and performing verification using HashScan
• It wasn't intuitive / apparent where to find the proxy contract logic until we went digging based on your suggestion
• We think, in order to align with expectations / intuition for other Solidity developers familiar with Etherscan, that the proxy contract logic in HashScan is more "front and center" and apparent for developers, similar to how the buttons are displayed on Etherscan clones.

@SimiHunjan
Copy link
Collaborator

@bmgentile can you please provide a link that demonstrates the experience you are looking for?

@bmgentile
Copy link
Author

@bmgentile can you please provide a link that demonstrates the experience you are looking for?

Hey Simi, sure thing!

Here's an example from Arbscan above.

https://arbiscan.io/address/0x794a61358d6845594f94dc1db02a252b5b4814ad#readProxyContract

image

@ericleponner
Copy link
Collaborator

ericleponner commented Aug 18, 2024

This one is a verified (proxy) contract.
Do you have a proxy contract which is unverified so that we can see the UI ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants