<!--## Prerequisites
- First, many thanks for taking part in the community. We really appreciate that.
- We realize there is a lot of data requested here. We ask only that you do your best to provide as much information as possible so we can better help you.
- Support questions are better asked in one of the following locations:
- [Solidity chat](https://gitter.im/ethereum/solidity)
- [Stack Overflow](https://ethereum.stackexchange.com/)
- Ensure the issue isn't already reported (check `feature` and `language design` labels).
*Delete the above section and the instructions in the sections below before submitting*
-->
Motivation
<!-- In this section you describe how you propose to address the problem you described earlier, including by giving one or more exemplary source code snippets for demonstration. -->Viraz, in Optmism's discord server, asked, "what is the use "payable" in optimism?"
For developers, functions marked as payable
will not work since msg.value
is not yet implemented in the OVM.
Specification
<!-- The technical specification should describe the syntax and semantics of any new feature. The specification should be detailed enough to allow any developer to implement the functionality. -->OVM compiler should throw a warning to any contract functions marked as payable
.
Backwards Compatibility
<!-- All language changes that introduce backwards incompatibilities must include a section describing these incompatibilities and their severity. Please describe how you propose to deal with these incompatibilities. -->I see no issues with being backwards compatible.