This bounty is no longer available
Web3 DAO | Optimism Logo

Throw an error when `payable` is used in contracts

Organization

Optimism

Deadline

N/A

Status

ENDED


INSTRUCTIONS

<!--## 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.