Skip to content

Commit 53accba

Browse files
committed
If apply_all_transactions is missing data, reraise
Just continuing is all kinds of wrong. I don't know how this bug lasted so long. I guess it's not tested or used often. It caused some unfortunate bugs for lithp that were hard to track down, because the state got reverted, but the receipt was still added. Sorry, buddy!
1 parent 10df2a6 commit 53accba

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

eth/vm/base.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,7 @@ def apply_all_transactions(
231231
)
232232
except EVMMissingData as exc:
233233
self.state.revert(snapshot)
234+
raise
234235

235236
result_header = self.add_receipt_to_header(previous_header, receipt)
236237
previous_header = result_header

newsfragments/1889.bugfix.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Bug: if data was missing during a call to :meth:`~eth.vm.base.VM.apply_all_transactions`,
2+
then the call would revert and continue processing transactions. Fix: we re-raise
3+
the :class:`~eth.exceptions.EVMMissingData` and do not continue processing transactions.

0 commit comments

Comments
 (0)