Skip to content
New issue

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

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

Already on GitHub? # to your account

Waylon/tests #424

Merged
merged 11 commits into from
Aug 16, 2023
Merged

Waylon/tests #424

merged 11 commits into from
Aug 16, 2023

Conversation

0xJepsen
Copy link
Collaborator

@0xJepsen 0xJepsen commented Aug 16, 2023

This PR fixes a bug we had with transactions hanging perpetually on a paused environment. This PR adds checks to both the call and send_transaction method on the middleware to reduce calls that get through. It also added proper error handling on the off chance that some get through they will return an environment error alerting the user that the environment is paused. Some predominant changes for this improvement include:

  • changing all atomic ordering rules to SeqCst to reduce concurrency bugs
  • Adds a TransactionOutcome enum to the RevmResult to indicate environment errors to the middleware
  • Added additional error checking in the send_transaction and call implementations.
  • When we enter a paused state in the environments run method, we loop through all potentially caught last transactions and propagate a pause error for each.
  • There are some formatting and clippy changes from cargo fmt (trying to converge to a happy clippy before release)

@0xJepsen 0xJepsen marked this pull request as ready for review August 16, 2023 21:08
@0xJepsen 0xJepsen requested a review from Autoparallel August 16, 2023 21:15
@Autoparallel Autoparallel merged commit 0c4aecb into feat/middleware Aug 16, 2023
@0xJepsen 0xJepsen deleted the waylon/tests branch August 16, 2023 23:07
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants