1

According to the yellow paper, one of the Execution Environment variables is:

Iw, the permission to make modifications to the state.

I can't find further information about it, for example how it's set and what values it can get (I guess 1 or 0)


Also I'd like to make sure that the variable

Ie, the depth of the present message-call or contract-creation (i.e. the number of CALLs or CREATEs being executed at present).

is only decremented by one for each CALL and CREATE opcodes, but never for a DELEGATECALL or CALLCODE

1

My answer is based on the current version of the yellow paper.

I_w

Iw, the permission to make modifications to the state

The importance of this flag is explained in the paragraph about Exceptional Halting:

enter image description here

Take into consideration only the last condition, it says that if the permission to modify is false and the current instruction is one specified by W (i.e., the instructions that may alter the state) then we have an exception. For completeness I report also the function W:

enter image description here

I_w is normally set to T (true) and is set to F only when a STATICCALL is performed.


is only decremented by one for each CALL and CREATE opcodes, but never for a DELEGATECALL or CALLCODE

This is wrong. Also DELEGATECALL and CALLCODE increment and decrement the callstack (it is specified in the yellow paper).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.