-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
Some clarifications for BEGINDATA. #3328
Conversation
Hi! I'm a bot, and I wanted to automerge your PR, but couldn't because of the following issue(s):
|
## Rationale | ||
The byte `0xb6` was chosen to align with [EIP-615](./eip-615.md). | ||
The choice to `STOP` if `BEGINDATA` is encountered is somewhat arbitrary. An alternative would be to be to abort the execution with an out-of-gas error. | ||
|
||
## Backwards Compatibility | ||
The proposal will not change any existing contracts unless their current behaviour relies upon the usage of unused opcodes. | ||
|
||
Since contracts have been using data from the very start, in a sense all of them use unused opcodes, | ||
but they would have to use data in a way that it is skipped during execution and jumped over. | ||
The Solidity compiler never generated such code. It has to be evaluated whether contracts created by other means |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are some examples of this at https://github.com/wolflo/meta-jumpers, although I believe the ones in that repo were designed specifically to exhibit this behavior, and does not exactly warrant being regarded as "real world examples"
Besides the nit this looks good to me |
7a7d25d
to
f57cfed
Compare
Incomporated review comments and squashed. |
@MrChico if the PR looks good to you, can you merge please so the bot can complete the merge? Thanks. |
Hi, I'm a bot! This change was automatically merged because: - It only modifies existing Draft, Review, or Last Call EIP(s) - The PR was approved or written by at least one author of each modified EIP - The build is passing
Hi, I'm a bot! This change was automatically merged because: - It only modifies existing Draft, Review, or Last Call EIP(s) - The PR was approved or written by at least one author of each modified EIP - The build is passing
Kindly asking the author @MrChico for review.