From c20cdd0a0574c350b5cde7b38e87321479cecab3 Mon Sep 17 00:00:00 2001 From: Dimitry Date: Thu, 8 Jun 2017 17:44:03 +0300 Subject: add new opcode instructions to the parser STATICCALL 0xfa 6 inputs (gas address mem1 mem2 mem3 mem4) --- docs/assembly.rst | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'docs/assembly.rst') diff --git a/docs/assembly.rst b/docs/assembly.rst index cd3ff4c0..938b72fa 100644 --- a/docs/assembly.rst +++ b/docs/assembly.rst @@ -236,11 +236,15 @@ In the grammar, opcodes are represented as pre-defined identifiers. +-------------------------+------+-----------------------------------------------------------------+ | returndatasize | | size of the last returndata | +-------------------------+------+-----------------------------------------------------------------+ -| returndatacopy(t, f, s) | `*` | copy s bytes from returndata at position f to mem at position t | +| returndatacopy(t, f, s) | `-` | copy s bytes from returndata at position f to mem at position t | +-------------------------+------+-----------------------------------------------------------------+ | create(v, p, s) | | create new contract with code mem[p..(p+s)) and send v wei | | | | and return the new address | +-------------------------+------+-----------------------------------------------------------------+ +| create2(v, n, p, s) | | create new contract with code mem[p..(p+s)) at address | +| | | keccak256(
. n . keccak256(mem[p..(p+s))) and send v | +| | | wei and return the new address | ++-------------------------+------+-----------------------------------------------------------------+ | call(g, a, v, in, | | call contract at address a with input mem[in..(in+insize)) | | insize, out, outsize) | | providing g gas and v wei and output area | | | | mem[out..(out+outsize)) returning 0 on error (eg. out of gas) | @@ -252,6 +256,9 @@ In the grammar, opcodes are represented as pre-defined identifiers. | delegatecall(g, a, in, | | identical to `callcode` but also keep ``caller`` | | insize, out, outsize) | | and ``callvalue`` | +-------------------------+------+-----------------------------------------------------------------+ +| staticcall(g, a, in, | | identical to `call(g, a, 0, in, insize, out, outsize)` but do | +| insize, out, outsize) | | not allow state modifications | ++-------------------------+------+-----------------------------------------------------------------+ | return(p, s) | `-` | end execution, return data mem[p..(p+s)) | +-------------------------+------+-----------------------------------------------------------------+ | revert(p, s) | `-` | end execution, revert state changes, return data mem[p..(p+s)) | -- cgit