From 2d2d028c3cee5f2fd7a0b36d0b5eaadef66eebb4 Mon Sep 17 00:00:00 2001 From: chriseth Date: Mon, 3 Jul 2017 18:30:31 +0200 Subject: [PATCH] Clarify value argument. --- EIPS/static_call.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/static_call.md b/EIPS/static_call.md index 6de5ed7d..5e0b79af 100644 --- a/EIPS/static_call.md +++ b/EIPS/static_call.md @@ -28,7 +28,7 @@ Introduce a new `STATIC` flag to the virtual machine. This flag is set to `false Opcode: `0xfa`. -`STATICCALL` functions equivalently to a `CALL`, except it takes 6 arguments not including value, and calls the child with the `STATIC` flag set to `true` for the execution of the child. Once this call returns, the flag is reset to its value before the call. +`STATICCALL` functions equivalently to a `CALL`, except it takes only 6 arguments (the "value" argument is not included and taken to be zero), and calls the child with the `STATIC` flag set to `true` for the execution of the child. Once this call returns, the flag is reset to its value before the call. Any attempts to make state-changing operations inside an execution instance with `STATIC` set to `true` will instead throw an exception. These operations include `CREATE`, `CREATE2`, `LOG1`, `LOG2`, `LOG3`, `LOG4`, `SSTORE`, and `SELFDESTRUCT`. They also include `CALL` with a non-zero value. As an exception, `CALLCODE` is not considered state-changing, even with a non-zero value.