aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2016-08-26 23:00:26 +0800
committerchriseth <c@ethdev.com>2016-08-30 21:32:28 +0800
commiteb241ff1b30ca32aaba0a455c0aa74cbb868c405 (patch)
tree14904f96ed74e05e652f5a4851120abc95e53747
parent546aca2a3ec11df5b54d5a3d01948ebc3d830163 (diff)
downloaddexon-solidity-eb241ff1b30ca32aaba0a455c0aa74cbb868c405.tar.gz
dexon-solidity-eb241ff1b30ca32aaba0a455c0aa74cbb868c405.tar.zst
dexon-solidity-eb241ff1b30ca32aaba0a455c0aa74cbb868c405.zip
Documentation.
-rw-r--r--docs/contracts.rst5
-rw-r--r--docs/security-considerations.rst4
2 files changed, 8 insertions, 1 deletions
diff --git a/docs/contracts.rst b/docs/contracts.rst
index d3a89c1e..234ab46a 100644
--- a/docs/contracts.rst
+++ b/docs/contracts.rst
@@ -447,6 +447,11 @@ In particular, the following operations will consume more gas than the stipend p
Please ensure you test your fallback function thoroughly to ensure the execution cost is less than 2300 gas before deploying a contract.
+.. warning::
+ The default fallback function will throw an exception (this was different
+ before Solidity v0.4.0), so if you want your contract to receive Ether,
+ you have to implement a fallback function.
+
::
contract Test {
diff --git a/docs/security-considerations.rst b/docs/security-considerations.rst
index f8d099e4..7e846674 100644
--- a/docs/security-considerations.rst
+++ b/docs/security-considerations.rst
@@ -103,7 +103,9 @@ and stall those. Please be explicit about such cases in the documentation of you
Sending and Receiving Ether
===========================
-- If a contract receives Ether (without a function being called), the fallback function is executed. The contract can only rely
+- If a contract receives Ether (without a function being called), the fallback function is executed.
+ If it does not have a fallback function, the Ether will be rejected (by throwing an exception).
+ During the execution of the fallback function, the contract can only rely
on the "gas stipend" (2300 gas) being available to it at that time. This stipend is not enough to access storage in any way.
To be sure that your contract can receive Ether in that way, check the gas requirements of the fallback function
(for example in the "details" section in browser-solidity).