oasisprotocol / oasisprotocol/explorer
[Feature]: Support for minimal proxy contracts (EIP-1167)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 13
- Forks
- 13
- Avg merge
- 58m
- Merged PRs (30d)
- 2
Description
Is there an existing issue for this?
- I have searched the existing issues
SUMMARY
Detect EIP-1167 proxies, show information about the target contract (and whether it's verified)
DESCRIPTION
EIP-1167 minimal proxy contracts have a well known bytecode format, unfortunately they can also not be verified using Sourcify.
This makes it difficult to find information about a contract if it was deployed using minimal proxies (such as clone factories).
For example, the following contract is an EIP-1167 proxy: https://explorer.oasis.io/testnet/sapphire/address/0xbA7F3eE55b7939294caFA0F1e096E79722e1BD88/code#code
The runtime bytecode is 0x363d3d373d3d3d363d73243e9b626bc3ca61795600ed5295377423cd4e695af43d82803e903d91602b57fd5bf3, the target of this contract is 0x243e9b626bc3ca61795600ed5295377423cd4e69 - the target contract is verified.
For more details on the minimal proxy: https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract
So, while the proxy contract isn't verified, the target of the proxy is verified.
Suggestion:
- In the 'Verification' row, if it's an EIP-1167 proxy, show that it's a proxy, and extract the destination contract with a link.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the Verification row and the code paths that obtain contract runtime bytecode and verification status. Use the EIP-1167 runtime bytecode and Oasis example in the issue as a reference; done means the row identifies the proxy, links to the extracted destination contract, and shows whether that target is verified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- blockchain, typescript
- Domain
- blockchain
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100