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

Decode ABI (e.g. for unverified contracts) from raw bytecode and provide a read/write interface in Remix IDE #5368

Open
DOBEN opened this issue Nov 3, 2024 · 0 comments

Comments

@DOBEN
Copy link

DOBEN commented Nov 3, 2024

Is your feature request related to a problem? Please describe.
Most contracts are still unverified (no-ABI, no-source code available). Developers still want to read/write from/to these contracts conveniently.

Describe the solution you'd like
Providing a read/write interface derived from the raw bytecode would be amazing since many contracts are still unverified (hard to interact with). One approach is to build a REMIX IDE plugin that takes rawByteCode or a contractAddress (with an API key to fetch bytecode) and decodes the ABI to provide an interface.

Decoding tools/libraries:
The combination of several different types of analyzers gives the best results in terms of getting the most likely ABI. The main 3 types of analyzers:

  • EVM Bytecode Analyzers/Simulators (e.g. evMole) - for the function selectors, input parameters, and function mutability
  • Database look-ups of functionSelectors (e.g. https://docs.openchain.xyz/) - for the human-readable function selectors
  • ABI-encoded Data Analyzers (e.g. abi-guesser) - for the return parameters

Describe alternatives you've considered

Additional context
I built an MVP: https://github.com/DOBEN/ContractCompanion

@DOBEN DOBEN mentioned this issue Nov 3, 2024
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant