foundry-rs / foundry-rs/foundry

perf: optimize trace decoding by making identity fetching non-blocking

Open
#3,236 8 comments 3 reactions 0 assignees View on GitHub
A-internals A-tracing C-forge first issue T-perf
Dominant language
Rust
Stars
10.6k
Forks
2.6k
Avg merge
18h 20m
Merged PRs (30d)
510

Description

### Component

Forge

### Describe the feature you would like

Ref #3006

Decoding traces for better output can make use of etherscan or sig.eth.samczsun.com

both require API requests, the tracing decoding is currently blocking, which means we have code that looks like:

https://github.com/foundry-rs/foundry/blob/903562382075b4ba24e5f4d40aeee620c53a7dde/evm/src/trace/identifier/etherscan.rs#L86

we could solve this by making everything async or use a background task with channels instead

since there's only 1 identifier for the entire suit, the latter makes sense, this way we still keep the non async test interface but can use async decoding

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.