From 76bc04244aecb159d98a70bda0594aba57217195 Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Mon, 23 Jul 2018 19:29:17 +0100 Subject: Clarify relation between stateMutability and payable/constant --- docs/abi-spec.rst | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'docs') diff --git a/docs/abi-spec.rst b/docs/abi-spec.rst index 5f6d7d50..16839292 100644 --- a/docs/abi-spec.rst +++ b/docs/abi-spec.rst @@ -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 `), ``view`` (:ref:`specified to not modify the blockchain state `), ``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 `), ``view`` (:ref:`specified to not modify the blockchain state `), ``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: -- cgit v1.2.3