-
Notifications
You must be signed in to change notification settings - Fork 857
Implement ErrGasUintOverflow
error state
#1526
Comments
Waiting for #1503 completed. After discussed with CC, we decided to pull Scroll team's PR (which doesn't cover calldata gas uint overflow) and this issue only handles gas uint overflow for calldata. However, if gas uint overflow for calldata happens, it's invalid tx scenario. #1503 is handling invalid tx senario so I'll wait for #1503 completed. |
blocked by #1611 |
My understanding is that We've been discussing about features that are optional depending on the zkEVM setting (#1636). Maybe we can extend this features to the specs as well, and apply them to the invalid txs. This way we could have an implementation of What do you think? |
I'm not sure I understand it completely.
"this feature", do you mean #1636? If so, it makes sense to me.
I don't understand why we can unlock this issue. As you said in the first paragraph, now we need to support Before we dive into implementing #1636 in our spec, it looks like we might need another sync. Right now, there's a difference in how we deal with |
Yes that's what I was thinking. My idea would be to achieve this in the short term:
I see. My suggestion aligns with having to go back to modify the
Thanks for reporting this! Is there an issue for this? If not, could you create one to track this? Thanks! |
Just created, privacy-scaling-explorations/zkevm-specs#493 |
Some conclusion after discussion with @ChihChengLiang and both of us think we don't need to implement Some context about
Here are some reasons for not implementing
@Brechtpd, would like hear your opinions. |
In the root case, can the transaction be included in a block? I don't know if that is the case or not per the Ethereum spec, but I assume it can't? If it can't be included, then letting it use the invalid tx path makes more sense to me. Otherwise there would be multiple paths that are able to just skip a transaction without any state changes. So something like this:
The invalid tx code can then use the feature config to enable/disable certain invalid cases. Would this also make sense? The proposed solution also seems fine to me, but if I understand it correctly, I'm just concerned about certain behavioral things being done in multiple places when they could be grouped together. |
Your assumption is right, an invalid tx won't be included in a block in Ethereum.
Agree, this is what I was thinking we should collect simliar behaviors together. My plan was implementing this error in What I was thinking is, do we still need to implement this error in In bus-mapping, you're using Currently, only Taiko has |
I think indeed no need to implement this error when the invalid tx error state is used because like you said it's already handled by the insufficient gas check there.
What do you think of making zkevm-circuits/zkevm-circuits/src/evm_circuit/execution/invalid_tx.rs Lines 67 to 72 in ef14352
|
We have an issue to add runtime feature set #1636. After this feature completed, it'll be easier to manage features like |
Closed it as we don't need it. |
Describe the feature you would like
spec: privacy-scaling-explorations/zkevm-specs#436
should cover privacy-scaling-explorations/zkevm-specs#421 as well
it depends on #1368
Additional context
No response
The text was updated successfully, but these errors were encountered: