From d08ccf45190665406fc94813fdf6501ed2d6e125 Mon Sep 17 00:00:00 2001 From: Yoichi Hirai Date: Fri, 17 Nov 2017 19:46:47 +0100 Subject: [PATCH] Fix a typo https://github.com/ethereum/EIPs/pull/211#pullrequestreview-58334736 --- EIPS/returndatacopy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/returndatacopy.md b/EIPS/returndatacopy.md index f8b9408..2a8a358 100644 --- a/EIPS/returndatacopy.md +++ b/EIPS/returndatacopy.md @@ -29,7 +29,7 @@ Note that this proposal also makes the EIP that proposes to allow to return data ## Specification -Add two new opcodes and amend the semantics of any opcode that creates a new call frame (like `CALL`, `CREATE`, `DELEGATECALL`, ...) called call-like opcodes in the following. It is assumed that the EVM (to be more specific: an EVM call frame) has a new internal buffer of variable size, called the return data buffer. This buffer is created empty for each new call frame. Upon executing any call-like opcode, the buffer is cleared (its size is set to zero). After executing a call-like opcode, the complete return data (or failure data, see EIP [206](https://github.com/ethereum/EIPs/pull/206)) of the call is stored in the return data buffer (of the caller), and its size changed accordingly. As an exception, `CREATE` and `CREATE2` are considered to return the empty buffer in the success case and the failure data in the failure case. If the call-like opcode is executed but does not really instanciate a call frame (for example due to insufficient funds for a value transfer or if the called contract does not exist), the return data buffer is empty. +Add two new opcodes and amend the semantics of any opcode that creates a new call frame (like `CALL`, `CREATE`, `DELEGATECALL`, ...) called call-like opcodes in the following. It is assumed that the EVM (to be more specific: an EVM call frame) has a new internal buffer of variable size, called the return data buffer. This buffer is created empty for each new call frame. Upon executing any call-like opcode, the buffer is cleared (its size is set to zero). After executing a call-like opcode, the complete return data (or failure data, see EIP [206](https://github.com/ethereum/EIPs/pull/206)) of the call is stored in the return data buffer (of the caller), and its size changed accordingly. As an exception, `CREATE` and `CREATE2` are considered to return the empty buffer in the success case and the failure data in the failure case. If the call-like opcode is executed but does not really instantiate a call frame (for example due to insufficient funds for a value transfer or if the called contract does not exist), the return data buffer is empty. As an optimization, it is possible to share the return data buffer across call frames because only one will be non-empty at any time.