-
Notifications
You must be signed in to change notification settings - Fork 5.3k
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
Data structure for the REVERT instruction #207
Conversation
No proliferation of many different encoding standards please. We have RLP and ABI, those two are enough. And given the use of ABI everywhere else in-EVM, I am strongly inclined to favor ABI. |
Does the architecture allow more than two error arguments? If possible I'd suggest a third return argument
|
I agree that we should try to limit the number of competing standards being used. I wonder what was the need to invent RLP over competing formats (including CBOR, which was accepted as an RFC in 2013). Note that CBOR already infiltrated Ethereum, Swarm is (going to?) use it for the manifests as well as Solidity uses it for the metadata hash. My main reason for CBOR is it's flexibility to represent multiple return types:
RLP can be used to determine the length of arrays, but it won't support different data types within. The ABI encoding is very rigid, we'd need to define a fixed field for type or length. |
I really think that it makes the most sense for REVERT data to take the same conventional form as return data from a CALL: ABI-encoded, and defined as part of the signature of the function. |
That is the scope of this proposal. |
Yes, I thought I was commenting on another issue. I deleted my comment when I realised I was mistaken. |
Do you still want to pursue this? AFAIK we had decided on leaving REVERT opcode to the HLL, and defaulting to the same format as regular return data? |
This is a courtesy notice to let you know that the format for EIPs has been modified slightly. If you want your draft merged, you will need to make some small changes to how your EIP is formatted:
If your PR is editing an existing EIP rather than creating a new one, this has already been done for you, and you need only rebase your PR. In addition, a continuous build has been setup, which will check your PR against the rules for EIP formatting automatically once you update your PR. This build ensures all required headers are present, as well as performing a number of other checks. Please rebase your PR against the latest master, and edit your PR to use the above format for frontmatter. For convenience, here's a sample header you can copy and adapt:
|
Update to new formatting standard
There has been no activity on this pull request for two months. It will be closed in a week if no further activity occurs. If you would like to move this EIP forward, please respond to any outstanding feedback or add a comment indicating that you have addressed all required feedback and are ready for a review. |
This pull request was closed due to inactivity. If you are still pursuing it, feel free to reopen it and respond to any feedback or request a review in a comment. |
Depends on #206.