mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Clarify relation between stateMutability and payable/constant
This commit is contained in:
parent
ae15b52d93
commit
76bc04244a
@ -410,15 +410,16 @@ A function description is a JSON object with the fields:
|
||||
* ``components``: used for tuple types (more below).
|
||||
|
||||
- ``outputs``: an array of objects similar to ``inputs``, can be omitted if function doesn't return anything;
|
||||
- ``payable``: ``true`` if function accepts ether, defaults to ``false``;
|
||||
- ``stateMutability``: a string with one of the following values: ``pure`` (:ref:`specified to not read blockchain state <pure-functions>`), ``view`` (:ref:`specified to not modify the blockchain state <view-functions>`), ``nonpayable`` and ``payable`` (same as ``payable`` above).
|
||||
- ``constant``: ``true`` if function is either ``pure`` or ``view``
|
||||
- ``stateMutability``: a string with one of the following values: ``pure`` (:ref:`specified to not read blockchain state <pure-functions>`), ``view`` (:ref:`specified to not modify the blockchain state <view-functions>`), ``nonpayable`` (function does not accept ether) and ``payable`` (function accepts ether);
|
||||
- ``payable``: ``true`` if function accepts ether, ``false`` otherwise;
|
||||
- ``constant``: ``true`` if function is either ``pure`` or ``view``, ``false`` otherwise.
|
||||
|
||||
``type`` can be omitted, defaulting to ``"function"``.
|
||||
``type`` can be omitted, defaulting to ``"function"``, likewise ``payable`` and ``constant`` can be omitted, both defaulting to ``false``.
|
||||
|
||||
Constructor and fallback function never have ``name`` or ``outputs``. Fallback function doesn't have ``inputs`` either.
|
||||
|
||||
Sending non-zero ether to non-payable function will throw. Don't do it.
|
||||
.. note::
|
||||
Sending non-zero ether to non-payable function will revert the transaction.
|
||||
|
||||
An event description is a JSON object with fairly similar fields:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user