OpenZeppelin / OpenZeppelin/openzeppelin-upgrades
Register proxies in hardhat node for logging purposes
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 658
- Forks
- 286
- PR merge metrics
- No merged PRs in 30d
Description
Buidler's wrapper around ethereumjs-vm, buidler node, provides meaningful logs regarding contract deployment, since it recognizes each contract from its bytecode:
eth_sendTransaction
Contract deployment: Pool
Contract address: 0x7c2c195cd6d34b8f845992d380aadb2730bb9c6f
Transaction: 0xd33fa355826d6e90b300718e1ab43e933f8dfe3a38e95dba307b82829047b897
From: 0xc783df8a850f42e7f7e57013759c285caa701eb6
Value: 0 ETH
Gas used: 382547 of 1912735
Block #1: 0xa7fd692368f8066a5d5171f6823366848ae81aea226ab59deb56449285bc5e28
However, when deploying a proxy, the operation is shown on an UnrecognizedContract:
eth_sendTransaction
Contract deployment: <UnrecognizedContract>
See if it's possible to use buidler_addCompilationResult or a similar method to register the proxies bytecode and name, so they show as Proxy in the logs.
Contributor guide
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 investigating Buidler's buidler_addCompilationResult or a similar registration method and how buidler node identifies contract bytecode for transaction logs. Confirm whether proxy bytecode and the name Proxy can be registered, then verify that proxy deployments are reported as Proxy rather than <UnrecognizedContract>.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- blockchain, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100