Skip to content

[Feature] eth_call batching layer #2089

Closed
@mattsse

Description

@mattsse

Component

rpc

Describe the feature you would like

ref foundry-rs/foundry#5363

to save on compute units we can collect concurrent eth_calls into a single multicall.

this needs to introduce a delay that is used to await potential incoming calls, because otherwise it's unlikely that multiple ethcalls are queued up at the very same time.
so the tradeoff here is latency of single ethcalls vs compute unit consumption or rather outgoing requests.

This can be implemented as a shared buffer and moved into the EthCall, where new calls push to the buffer of oneshots and if it's the first entry it waits until a timeout and then drains the buffer and batches all pending calls

Additional context

No response

Metadata

Metadata

Assignees

Projects

Status

Completed

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions