-
Notifications
You must be signed in to change notification settings - Fork 138
Fast state revert for single-tx bundles #6
Comments
Hello ! I'm looking into this issue, and I hope I can contribute somehow :) I have a question please. I can't wrap my head around why it doesn't work to take a snapshot of the state before applying any bundle transactions and then revert to this snapshot if any one of the transactions fail. Why do we copy the state n times, right before applying every transaction? Thanks :) |
Hello :)
It could, but geth only allows reverts before you commit. So you'd have to not commit any of the intermediate transactions, and either revert or commit at the end. I think it's the best way, but there are a couple of corner cases (deleting empty objects in particular). |
* Implement block validation API * Validate proposer payment assuming its the last transaction in the block (#4) * Validate that the coinbase and feeRecipient are not blacklisted (#5) * Validate that the proposer payment has no calldata and its gas usage (#6) * Validate gas limit is set correctly wrt registered (#8) * Pass validation-specific config (#9)
* Implement block validation API * Validate proposer payment assuming its the last transaction in the block (#4) * Validate that the coinbase and feeRecipient are not blacklisted (#5) * Validate that the proposer payment has no calldata and its gas usage (#6) * Validate gas limit is set correctly wrt registered (#8) * Pass validation-specific config (#9)
* Implement block validation API * Validate proposer payment assuming its the last transaction in the block (#4) * Validate that the coinbase and feeRecipient are not blacklisted (#5) * Validate that the proposer payment has no calldata and its gas usage (#6) * Validate gas limit is set correctly wrt registered (#8) * Pass validation-specific config (#9)
* Implement block validation API * Validate proposer payment assuming its the last transaction in the block (#4) * Validate that the coinbase and feeRecipient are not blacklisted (#5) * Validate that the proposer payment has no calldata and its gas usage (#6) * Validate gas limit is set correctly wrt registered (#8) * Pass validation-specific config (#9)
* Implement block validation API * Validate proposer payment assuming its the last transaction in the block (#4) * Validate that the coinbase and feeRecipient are not blacklisted (#5) * Validate that the proposer payment has no calldata and its gas usage (#6) * Validate gas limit is set correctly wrt registered (#8) * Pass validation-specific config (#9)
* Implement block validation API * Validate proposer payment assuming its the last transaction in the block (#4) * Validate that the coinbase and feeRecipient are not blacklisted (#5) * Validate that the proposer payment has no calldata and its gas usage (#6) * Validate gas limit is set correctly wrt registered (#8) * Pass validation-specific config (#9)
Rationale
Currently we are copying the state every time we are about to apply a bundle, as multi-tx bundles can't be handled with a revert to snapshort.
It should be beneficial to have a special case for single-tx bundles that avoids the state copy.
The text was updated successfully, but these errors were encountered: