mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Support address().codehash
This commit is contained in:
+2
-1
@@ -67,7 +67,7 @@ The following is the order of precedence for operators, listed in order of evalu
|
||||
| *15* | Comma operator | ``,`` |
|
||||
+------------+-------------------------------------+--------------------------------------------+
|
||||
|
||||
.. index:: assert, block, coinbase, difficulty, number, block;number, timestamp, block;timestamp, msg, data, gas, sender, value, gas price, origin, revert, require, keccak256, ripemd160, sha256, ecrecover, addmod, mulmod, cryptography, this, super, selfdestruct, balance, send
|
||||
.. index:: assert, block, coinbase, difficulty, number, block;number, timestamp, block;timestamp, msg, data, gas, sender, value, gas price, origin, revert, require, keccak256, ripemd160, sha256, ecrecover, addmod, mulmod, cryptography, this, super, selfdestruct, balance, codehash, send
|
||||
|
||||
Global Variables
|
||||
================
|
||||
@@ -114,6 +114,7 @@ Global Variables
|
||||
- ``super``: the contract one level higher in the inheritance hierarchy
|
||||
- ``selfdestruct(address payable recipient)``: destroy the current contract, sending its funds to the given address
|
||||
- ``<address>.balance`` (``uint256``): balance of the :ref:`address` in Wei
|
||||
- ``<address>.codehash`` (``bytes32``): the codehash of the :ref:`address`
|
||||
- ``<address payable>.send(uint256 amount) returns (bool)``: send given amount of Wei to :ref:`address`,
|
||||
returns ``false`` on failure
|
||||
- ``<address payable>.transfer(uint256 amount)``: send given amount of Wei to :ref:`address`, throws on failure
|
||||
|
||||
@@ -211,7 +211,7 @@ Mathematical and Cryptographic Functions
|
||||
|
||||
When running ``sha256``, ``ripemd160`` or ``ecrecover`` on a *private blockchain*, you might encounter Out-of-Gas. This is because these functions are implemented as "precompiled contracts" and only really exist after they receive the first message (although their contract code is hardcoded). Messages to non-existing contracts are more expensive and thus the execution might run into an Out-of-Gas error. A workaround for this problem is to first send Wei (1 for example) to each of the contracts before you use them in your actual contracts. This is not an issue on the main or test net.
|
||||
|
||||
.. index:: balance, send, transfer, call, callcode, delegatecall, staticcall
|
||||
.. index:: balance, codehash, send, transfer, call, callcode, delegatecall, staticcall
|
||||
|
||||
.. _address_related:
|
||||
|
||||
@@ -221,6 +221,9 @@ Members of Address Types
|
||||
``<address>.balance`` (``uint256``)
|
||||
balance of the :ref:`address` in Wei
|
||||
|
||||
``<address>.codehash`` (``bytes32``)
|
||||
the codehash of the :ref:`address`
|
||||
|
||||
``<address payable>.transfer(uint256 amount)``
|
||||
send given amount of Wei to :ref:`address`, reverts on failure, forwards 2300 gas stipend, not adjustable
|
||||
|
||||
|
||||
Reference in New Issue
Block a user