This repository has been archived by the owner on Feb 26, 2024. It is now read-only.
Optimize forking's eth_call
on blocks before the fork block number
#1981
Labels
Related to #1547
Ganache doesn't forward eth_call's to blocks before the fork to the original node, but instead executes everything locally. This means we have to fetch any state that the transaction interacts with at runtime.
A couple of reasons for doing this
eth_call
call is permitted to run. Ganache doesn't currently limit the execution time.It's often the case that the above reasons don't apply, so waiting 200x longer than you should is annoying just for handling these little edge cases. So I think we should solve them by:
eth_call
via the remote node first (or simultaneously), and fall back to local only if it fails due to timeout reasons.b. this one requires that the transaction we send to the node has all fields resolve, as the node may use it's own defaults for things like
gasLimit
.The text was updated successfully, but these errors were encountered: