titanoboa
titanoboa copied to clipboard
Use EVMole to improve error messages
The EVMole library extracts function selectors and arguments from bytecode, even for unverified contracts.
We could use EVMole together with Etherscan to provide more detailed errors, traces and stack traces.
Suggested UX
- We add
evmole
as aforking-recommended
optional dependency - When an error occurs or a trace is requested, we first check whether the contract is registered in the environment
- If the contract isn't registered, we look for an Etherscan API key (see #249)
- If there's no Etherscan API key or the contract isn't verified, we try to import evmole
- If we can import evmole, use it for generating more detailed errors. Otherwise we can add a tip for the user to install it