You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
add a variant of the above where we do the following
program
.push(0) // byte size of return data
.push(0) // retOffset
.push(0) // byte size calldata
.push(0) // argsOffset
.op("c0de") // address of 'return data provider' account
.op(OpCode.GAS) // gas
.op(OpCode.STATICCALL)
// 3. Clean the stack
.op(OpCode.POP)
// 4. Doubly exceptional return data copy
.op(OpCode.RETURNDATASIZE)
.push(1)
.op(OpCode.ADD); // size = RDS + 1, which will trigger the `returnDataCopyException`
.push(0) // offset
.push(65) // destoffset, trigger mem expansion
.op(OpCode.RETURNDATACOPY);
We could name this test to doubleExceptionReturnDataCopyTestOogxAndRdcx. We have so far not written tests where we deliberately trigger several exceptions at once.
The text was updated successfully, but these errors were encountered:
Follow up on the OOGX task #1783
MultiExceptionsTest
could have a simple test where one triggers simultaneouslyoutOfGasExceptionLog0
, see https://github.com/Consensys/linea-tracer/pull/1783/files#r1962176828or
One needs two smart contracts with byte code
Which are called upon through a STATICCALL with gas = 3 + 3 + 375 + cornerCase / gas = 3 + 375 + cornerCase.
outOfGasExceptionJumpi
, see https://github.com/Consensys/linea-tracer/pull/1783/files#r1962163327test simultaneous exceptions, in this case:
And it would be trivial to implement, just switch the second push to
outOfGasExceptionReturnDataCopy
, see https://github.com/Consensys/linea-tracer/pull/1783/files#r1962067971add a variant of the above where we do the following
We could name this test to
doubleExceptionReturnDataCopyTestOogxAndRdcx
. We have so far not written tests where we deliberately trigger several exceptions at once.The text was updated successfully, but these errors were encountered: