edr
edr copied to clipboard
Reduce FFI roundtrips when generating Solidity stack trace for requests
Currently, there's a lot of back and forth going on between the EDR and Hardhat when we generate a Solidity stack trace for a response that results with an error. Since we now have ported the relevant logic to Rust and released it in Hardhat 2.22.12, we can collapse the paths we take in order to generate the user-facing trace.
We roughly need to:
- [ ] Move ContractsIdentifier/VmTraceDecoder into the EDR and add support for adding compilation artifacts via the existing
hardhat_addCompilationResult
- [ ] Adapt the TS test code to rely less on the currently exported classes and/or rewrite the relevant test in Rust
- [ ] Collapse the paths and add a generated
SolidityStackTrace
entry to the existingResponse
in the provider