make "cast run" faster
Component
Cast
Describe the feature you would like
Running cast run is painfully slow, since it performs an RPC call for each storage access.
But in most cases, it can run much, much faster:
Many RPC providers support debug_traceTransaction. Using the prestateTracer , the entire storage tree used by a transaction can be fetched at once.
Only if this trace command fails, the cast run should resort to the slot-by-slot access.
Additional context
No response
yeah this is true, but not everyone has access to he debug_ namespace
but definitely something we should support actually
The prestateTracer has better support by providers than the generic JavaScript tracer. It is also used for building access lists, and in general, much lighter to execute (as it is native, and can't run arbitrary code)
has better support by providers than the generic JavaScript tracer
this is true, but also not relevant here?
what I mean is that general tracing support is limited, but native (and specifically prestateTracer) is quite widely supported