aboutsummaryrefslogtreecommitdiffstats
path: root/docs/yul.rst
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2018-09-28 07:08:19 +0800
committerAlex Beregszaszi <alex@rtfs.hu>2018-09-28 07:08:19 +0800
commite109d1a6cfaa47dfc0919e028cccebb3219b1a68 (patch)
treef910e941c953284ea83b91c2f3f64b2c0575ecf7 /docs/yul.rst
parent2a7514268860e364298ab1efd8f9d878a217922f (diff)
downloaddexon-solidity-e109d1a6cfaa47dfc0919e028cccebb3219b1a68.tar.gz
dexon-solidity-e109d1a6cfaa47dfc0919e028cccebb3219b1a68.tar.zst
dexon-solidity-e109d1a6cfaa47dfc0919e028cccebb3219b1a68.zip
Include create2/extcodehash in yul.rst
Diffstat (limited to 'docs/yul.rst')
-rw-r--r--docs/yul.rst8
1 files changed, 8 insertions, 0 deletions
diff --git a/docs/yul.rst b/docs/yul.rst
index e010a708..09aa6b65 100644
--- a/docs/yul.rst
+++ b/docs/yul.rst
@@ -417,6 +417,12 @@ The following functions must be available:
| create(v:u256, p:u256, s:u256) | create new contract with code mem[p..(p+s)) and send v wei |
| | and return the new address |
+---------------------------------------------+-----------------------------------------------------------------+
+| create2(v:u256, n:u256, p:u256, s:u256) | create new contract with code mem[p...(p+s)) at address |
+| | keccak256(0xff . self . n . keccak256(mem[p...(p+s))) |
+| | and send v wei and return the new address, where ``0xff`` is a |
+| | 8 byte value, ``self`` is the current contract's address |
+| | as a 20 byte value and ``n`` is a big-endian 256-bit value |
++---------------------------------------------+-----------------------------------------------------------------+
| call(g:u256, a:u256, v:u256, in:u256, | call contract at address a with input mem[in..(in+insize)) |
| insize:u256, out:u256, | providing g gas and v wei and output area |
| outsize:u256) | mem[out..(out+outsize)) returning 0 on error (eg. out of gas) |
@@ -492,6 +498,8 @@ The following functions must be available:
+---------------------------------------------+-----------------------------------------------------------------+
| extcodecopy(a:u256, t:u256, f:u256, s:u256) | like codecopy(t, f, s) but take code at address a |
+---------------------------------------------+-----------------------------------------------------------------+
+| extcodehash(a:u256) | code hash of address a |
++---------------------------------------------+-----------------------------------------------------------------+
| *Others* |
+---------------------------------------------+-----------------------------------------------------------------+
| discard(unused:bool) | discard value |