Merge pull request #9805 from ethereum/develop

Merge develop into breaking.
This commit is contained in:
chriseth
2020-09-14 20:48:03 +02:00
committed by GitHub
538 changed files with 3805 additions and 1959 deletions
+1 -1
View File
@@ -19,7 +19,7 @@ Solidity also supports exception handling in the form of ``try``/``catch``-state
but only for :ref:`external function calls <external-function-calls>` and
contract creation calls.
Parentheses can *not* be omitted for conditionals, but curly brances can be omitted
Parentheses can *not* be omitted for conditionals, but curly braces can be omitted
around single-statement bodies.
Note that there is no type conversion from non-boolean to boolean types as
+5 -6
View File
@@ -61,12 +61,11 @@ For a contract that fulfils payments, the signed message must include:
2. The amount to be transferred.
3. Protection against replay attacks.
A replay attack is when a signed message is reused to claim authorization for
a second action.
To avoid replay attacks we use the same as in Ethereum transactions
themselves, a so-called nonce, which is the number of transactions sent by an
account.
The smart contract checks if a nonce is used multiple times.
A replay attack is when a signed message is reused to claim
authorization for a second action. To avoid replay attacks
we use the same technique as in Ethereum transactions themselves,
a so-called nonce, which is the number of transactions sent by
an account. The smart contract checks if a nonce is used multiple times.
Another type of replay attack can occur when the owner
deploys a ``ReceiverPays`` smart contract, makes some
+1 -1
View File
@@ -243,7 +243,7 @@ Since variables are stored on the stack, they do not directly
influence memory or storage, but they can be used as pointers
to memory or storage locations in the built-in functions
``mstore``, ``mload``, ``sstore`` and ``sload``.
Future dialects migh introduce specific types for such pointers.
Future dialects might introduce specific types for such pointers.
When a variable is referenced, its current value is copied.
For the EVM, this translates to a ``DUP`` instruction.