Skip to content

bug(forge script): some RPCs seem to discard transactions, and --resume is of no help #10453

Open
@naps62

Description

@naps62

Component

Anvil

Have you ensured that all of these are up to date?

  • Foundry
  • Foundryup

What version of Foundry are you on?

1.1.0-nightly

What version of Foundryup are you on?

N/A (using shazow/foundry.nix)

What command(s) is the bug in?

forge script

Operating System

Linux

Describe the bug

This happened a few months ago on scroll-sepolia, but this week on scroll-mainnet as well, which made it more serious

There seems to be an issue with scroll itself where, if a large batch of transactions is submitted (in my case, a forge script that broadcasts 158 transactions), only a subset of those will get included, and the rest is either discarded, or only reappers on scrollscan after way too long. This results in the script waiting indefinitely for transaction 80/158, and never moving forward, requiring me to Ctrl+C

Now, so far this is probably a problem with scroll's RPC, not with forge. The problem is that, because I was forced to Ctrl+C, it seems the run-xxxxxxx.json never got written, and --resume just has no effect.

This means:

  • if I'm forced to kill the script while the RPC is still working, or potentially discarded some already, there is no way to actually resume;
  • trying to --resume will end up deploying a whole set of new transactions, only to probably end up in the same problem.

the solution for me was to deploy with --slow, but I'd expect the resume logic to be able to handle these failures more gracefully

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions