Variables de entorno de ejecución Iw e Ie

Según el papel amarillo, una de las variables del entorno de ejecución es:

Iw, el permiso para hacer modificaciones al estado.

No puedo encontrar más información al respecto, por ejemplo, cómo se configura y qué valores puede obtener (supongo que 1 o 0)


También me gustaría asegurarme de que la variable

Es decir, la profundidad de la presente llamada de mensaje o creación de contrato (es decir, el número de CALL o CREATE que se están ejecutando actualmente).

solo se decrementa en uno para cada código de operación CALL y CREATE, pero nunca para un DELEGATECALL o CALLCODE

Respuestas (1)

Mi respuesta se basa en la versión actual del papel amarillo .

yo_w

Iw, el permiso para hacer modificaciones al estado

La importancia de esta bandera se explica en el párrafo sobre Detención excepcional:

ingrese la descripción de la imagen aquí

Tenga en cuenta solo la última condición, dice que si el permiso para modificar es falso y la instrucción actual es una especificada por W(es decir, las instrucciones que pueden alterar el estado), entonces tenemos una excepción. Para completar, informo también la función W:

ingrese la descripción de la imagen aquí

I_w normalmente se establece en T(verdadero) y se establece en Fsolo cuando se realiza una STATICCALL.


solo se decrementa en uno para cada código de operación CALL y CREATE, pero nunca para un DELEGATECALL o CALLCODE

Esto está mal. También DELEGATECALL y CALLCODE incrementan y decrementan la pila de llamadas (se especifica en el papel amarillo).