Skip to content
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

Merged
merged 1 commit into from
Mar 5, 2021

Conversation

chriseth
Copy link
Contributor

@chriseth chriseth commented Mar 5, 2021

Kindly asking the author @MrChico for review.

@eip-automerger
Copy link

Hi! I'm a bot, and I wanted to automerge your PR, but couldn't because of the following issue(s):

  • EIP 2327 requires approval from one of (@MrChico)

## 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
Copy link
Member

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"

EIPS/eip-2327.md Outdated Show resolved Hide resolved
@MrChico
Copy link
Member

MrChico commented Mar 5, 2021

Besides the nit this looks good to me

@chriseth
Copy link
Contributor Author

chriseth commented Mar 5, 2021

Incomporated review comments and squashed.

@lightclient
Copy link
Member

@MrChico if the PR looks good to you, can you merge please so the bot can complete the merge? Thanks.

@eip-automerger eip-automerger merged commit 38ecef3 into ethereum:master Mar 5, 2021
Arachnid pushed a commit to Arachnid/EIPs that referenced this pull request Mar 6, 2021
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
phi-line pushed a commit to phi-line/EIPs that referenced this pull request Apr 29, 2021
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants