Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pool/builder] Reorgs from inconsistent RPCs lead to lost UOs #813

Open
dancoombs opened this issue Sep 26, 2024 · 0 comments
Open

[pool/builder] Reorgs from inconsistent RPCs lead to lost UOs #813

dancoombs opened this issue Sep 26, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@dancoombs
Copy link
Collaborator

Describe the bug
An issue we have when running on top of inconsistent RPC providers during reorgs:

  1. Builder creates a bundle and sends a validation request to to the RPC provider which routes it to a node which is currently on block N*
  2. In N* a UO landed, so the RPC request returns with invalid nonce, and we remove the UO from the mempool
  3. N* is eventually reorged, however out pool chain tracking logic never saw N* because we're using an inconsistent provider and it was routed directly to N where UO was never mined

In this case, we've removed the UO from the mempool, but it was never part of the "canonical chain" and didn't land.

I think we need to give the pool full control over UO removal due to nonce increases which may avoid this. Unsure if there are any further impacts though

To reproduce
Not easy, but we've seen it happen.

Expected behavior
N* shouldn't be lost.

Logs
None

Additional context
Related to: #496

@dancoombs dancoombs added the bug Something isn't working label Sep 26, 2024
@dancoombs dancoombs added this to the v0.5 milestone Sep 26, 2024
@dancoombs dancoombs removed this from the v0.5 milestone Oct 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant