zemse / hardhat-tracer

🕵️ allows you to see internal calls, events and storage operations in the console
MIT License
351 stars 36 forks source link

New features wish list #15

Closed zemse closed 1 year ago

zemse commented 2 years ago
shahnami commented 2 years ago

Hi @zemse, awesome extension!

Would be nice to have an -o (--output) flag to export the trace in JSON as well. Also, perhaps a way to diff the storage (to track what changed, or have this as part of the output).

tonisives commented 1 year ago

Thanks for the great extension! One interesting idea would be to output a mermaid.js sequence diagram of some sort. (maybe reduce the function variables a bit so it's more readable).

It would give you a more visual overview of the components and stacktrace.

One other feature would be merging proxies and their implementation. Currently they basically print out duplicate traces.

zemse commented 1 year ago

Thanks! I'll check it out.

HarryR commented 1 year ago

Thanks for the useful extension, it's really helped me get on-top of storage access patterns to reduce unnecessary loads & stores. Although Solidity still adds some unnecessary ones in there for good measure :shrug:

It would be really useful to know the source line numbers where SLOAD and SSTORE calls are being triggered from.

zemse commented 1 year ago

I agree, source lines would be useful. Though I wonder how to fit that in the console display since it already prints a lot of stuff which makes it overwhelming sometimes. Maybe behind a flag/config option. I've created an issue for this.

Closing this issue since these pending ones in this issue are in my backlog for a long time and I don't think I can do these anytime soon. But feel free to open a new issue about any feature that can be useful.