VMTests === ## vmArithmeticTest ```diff + add0.json OK + add1.json OK + add2.json OK + add3.json OK + add4.json OK + addmod0.json OK + addmod1.json OK + addmod1_overflow2.json OK + addmod1_overflow3.json OK + addmod1_overflow4.json OK + addmod1_overflowDiff.json OK + addmod2.json OK + addmod2_0.json OK + addmod2_1.json OK + addmod3.json OK + addmod3_0.json OK + addmodBigIntCast.json OK + addmodDivByZero.json OK + addmodDivByZero1.json OK + addmodDivByZero2.json OK + addmodDivByZero3.json OK + arith1.json OK + div1.json OK + divBoostBug.json OK + divByNonZero0.json OK + divByNonZero1.json OK + divByNonZero2.json OK + divByNonZero3.json OK + divByZero.json OK + divByZero_2.json OK + exp0.json OK + exp1.json OK + exp2.json OK + exp3.json OK + exp4.json OK + exp5.json OK + exp6.json OK + exp7.json OK + expPowerOf256Of256_0.json OK + expPowerOf256Of256_1.json OK + expPowerOf256Of256_10.json OK + expPowerOf256Of256_11.json OK + expPowerOf256Of256_12.json OK + expPowerOf256Of256_13.json OK + expPowerOf256Of256_14.json OK + expPowerOf256Of256_15.json OK + expPowerOf256Of256_16.json OK + expPowerOf256Of256_17.json OK + expPowerOf256Of256_18.json OK + expPowerOf256Of256_19.json OK + expPowerOf256Of256_2.json OK + expPowerOf256Of256_20.json OK + expPowerOf256Of256_21.json OK + expPowerOf256Of256_22.json OK + expPowerOf256Of256_23.json OK + expPowerOf256Of256_24.json OK + expPowerOf256Of256_25.json OK + expPowerOf256Of256_26.json OK + expPowerOf256Of256_27.json OK + expPowerOf256Of256_28.json OK + expPowerOf256Of256_29.json OK + expPowerOf256Of256_3.json OK + expPowerOf256Of256_30.json OK + expPowerOf256Of256_31.json OK + expPowerOf256Of256_32.json OK + expPowerOf256Of256_33.json OK + expPowerOf256Of256_4.json OK + expPowerOf256Of256_5.json OK + expPowerOf256Of256_6.json OK + expPowerOf256Of256_7.json OK + expPowerOf256Of256_8.json OK + expPowerOf256Of256_9.json OK + expPowerOf256_1.json OK + expPowerOf256_10.json OK + expPowerOf256_11.json OK + expPowerOf256_12.json OK + expPowerOf256_13.json OK + expPowerOf256_14.json OK + expPowerOf256_15.json OK + expPowerOf256_16.json OK + expPowerOf256_17.json OK + expPowerOf256_18.json OK + expPowerOf256_19.json OK + expPowerOf256_2.json OK + expPowerOf256_20.json OK + expPowerOf256_21.json OK + expPowerOf256_22.json OK + expPowerOf256_23.json OK + expPowerOf256_24.json OK + expPowerOf256_25.json OK + expPowerOf256_26.json OK + expPowerOf256_27.json OK + expPowerOf256_28.json OK + expPowerOf256_29.json OK + expPowerOf256_3.json OK + expPowerOf256_30.json OK + expPowerOf256_31.json OK + expPowerOf256_32.json OK + expPowerOf256_33.json OK + expPowerOf256_4.json OK + expPowerOf256_5.json OK + expPowerOf256_6.json OK + expPowerOf256_7.json OK + expPowerOf256_8.json OK + expPowerOf256_9.json OK + expPowerOf2_128.json OK + expPowerOf2_16.json OK + expPowerOf2_2.json OK + expPowerOf2_256.json OK + expPowerOf2_32.json OK + expPowerOf2_4.json OK + expPowerOf2_64.json OK + expPowerOf2_8.json OK + expXY.json OK + expXY_success.json OK + fibbonacci_unrolled.json OK + mod0.json OK + mod1.json OK + mod2.json OK + mod3.json OK + mod4.json OK + modByZero.json OK + mul0.json OK + mul1.json OK + mul2.json OK + mul3.json OK + mul4.json OK + mul5.json OK + mul6.json OK + mul7.json OK + mulUnderFlow.json OK + mulmod0.json OK + mulmod1.json OK + mulmod1_overflow.json OK + mulmod1_overflow2.json OK + mulmod1_overflow3.json OK + mulmod1_overflow4.json OK + mulmod2.json OK + mulmod2_0.json OK + mulmod2_1.json OK + mulmod3.json OK + mulmod3_0.json OK + mulmod4.json OK + mulmoddivByZero.json OK + mulmoddivByZero1.json OK + mulmoddivByZero2.json OK + mulmoddivByZero3.json OK + not1.json OK + sdiv0.json OK + sdiv1.json OK + sdiv2.json OK + sdiv3.json OK + sdiv4.json OK + sdiv5.json OK + sdiv6.json OK + sdiv7.json OK + sdiv8.json OK + sdiv9.json OK + sdivByZero0.json OK + sdivByZero1.json OK + sdivByZero2.json OK + sdiv_dejavu.json OK + sdiv_i256min.json OK + sdiv_i256min2.json OK + sdiv_i256min3.json OK + signextendInvalidByteNumber.json OK + signextend_00.json OK + signextend_0_BigByte.json OK + signextend_AlmostBiggestByte.json OK + signextend_BigByteBigByte.json OK + signextend_BigBytePlus1_2.json OK + signextend_BigByte_0.json OK + signextend_BitIsNotSet.json OK + signextend_BitIsNotSetInHigherByte.json OK + signextend_BitIsSetInHigherByte.json OK + signextend_Overflow_dj42.json OK + signextend_bigBytePlus1.json OK + signextend_bitIsSet.json OK + smod0.json OK + smod1.json OK + smod2.json OK + smod3.json OK + smod4.json OK + smod5.json OK + smod6.json OK + smod7.json OK + smod8_byZero.json OK + smod_i256min1.json OK + smod_i256min2.json OK + stop.json OK + sub0.json OK + sub1.json OK + sub2.json OK + sub3.json OK + sub4.json OK ``` OK: 195/195 Fail: 0/195 Skip: 0/195 ## vmBitwiseLogicOperation ```diff + and0.json OK + and1.json OK + and2.json OK + and3.json OK + and4.json OK + and5.json OK + byte0.json OK + byte1.json OK + byte10.json OK + byte11.json OK + byte2.json OK + byte3.json OK + byte4.json OK + byte5.json OK + byte6.json OK + byte7.json OK + byte8.json OK + byte9.json OK + eq0.json OK + eq1.json OK + eq2.json OK + gt0.json OK + gt1.json OK + gt2.json OK + gt3.json OK + iszeo2.json OK + iszero0.json OK + iszero1.json OK + lt0.json OK + lt1.json OK + lt2.json OK + lt3.json OK + not0.json OK + not1.json OK + not2.json OK + not3.json OK + not4.json OK + not5.json OK + or0.json OK + or1.json OK + or2.json OK + or3.json OK + or4.json OK + or5.json OK + sgt0.json OK + sgt1.json OK + sgt2.json OK + sgt3.json OK + sgt4.json OK + slt0.json OK + slt1.json OK + slt2.json OK + slt3.json OK + slt4.json OK + xor0.json OK + xor1.json OK + xor2.json OK + xor3.json OK + xor4.json OK + xor5.json OK ``` OK: 60/60 Fail: 0/60 Skip: 0/60 ## vmBlockInfoTest ```diff + blockhash257Block.json OK + blockhash258Block.json OK - blockhashInRange.json Fail + blockhashMyBlock.json OK + blockhashNotExistingBlock.json OK + blockhashOutOfRange.json OK + blockhashUnderFlow.json OK + coinbase.json OK + difficulty.json OK + gaslimit.json OK + number.json OK + timestamp.json OK ``` OK: 11/12 Fail: 1/12 Skip: 0/12 ## vmEnvironmentalInfo ```diff + ExtCodeSizeAddressInputTooBigLeftMyAddress.json OK + ExtCodeSizeAddressInputTooBigRightMyAddress.json OK + address0.json OK + address1.json OK + balance0.json OK + balance01.json OK + balance1.json OK + balanceAddress2.json OK + balanceAddressInputTooBig.json OK + balanceAddressInputTooBigLeftMyAddress.json OK balanceAddressInputTooBigRightMyAddress.json Skip + balanceCaller3.json OK calldatacopy0.json Skip calldatacopy0_return.json Skip calldatacopy1.json Skip calldatacopy1_return.json Skip calldatacopy2.json Skip calldatacopy2_return.json Skip calldatacopyUnderFlow.json Skip calldatacopyZeroMemExpansion.json Skip calldatacopyZeroMemExpansion_return.json Skip calldatacopy_DataIndexTooHigh.json Skip calldatacopy_DataIndexTooHigh2.json Skip calldatacopy_DataIndexTooHigh2_return.json Skip calldatacopy_DataIndexTooHigh_return.json Skip calldatacopy_sec.json Skip + calldataload0.json OK + calldataload1.json OK + calldataload2.json OK - calldataloadSizeTooHigh.json Fail + calldataloadSizeTooHighPartial.json OK + calldataload_BigOffset.json OK + calldatasize0.json OK + calldatasize1.json OK + calldatasize2.json OK + caller.json OK + callvalue.json OK + codecopy0.json OK + codecopyZeroMemExpansion.json OK - codecopy_DataIndexTooHigh.json Fail + codesize.json OK - env1.json Fail + extcodecopy0.json OK + extcodecopy0AddressTooBigLeft.json OK + extcodecopy0AddressTooBigRight.json OK + extcodecopyZeroMemExpansion.json OK - extcodecopy_DataIndexTooHigh.json Fail + extcodesize0.json OK + extcodesize1.json OK + extcodesizeUnderFlow.json OK + gasprice.json OK + origin.json OK ``` OK: 33/52 Fail: 4/52 Skip: 15/52 ## vmIOandFlowOperations ```diff + BlockNumberDynamicJump0_AfterJumpdest.json OK + BlockNumberDynamicJump0_AfterJumpdest3.json OK + BlockNumberDynamicJump0_foreverOutOfGas.json OK + BlockNumberDynamicJump0_jumpdest0.json OK + BlockNumberDynamicJump0_jumpdest2.json OK + BlockNumberDynamicJump0_withoutJumpdest.json OK + BlockNumberDynamicJump1.json OK + BlockNumberDynamicJumpInsidePushWithJumpDest.json OK + BlockNumberDynamicJumpInsidePushWithoutJumpDest.json OK + BlockNumberDynamicJumpi0.json OK + BlockNumberDynamicJumpi1.json OK + BlockNumberDynamicJumpi1_jumpdest.json OK + BlockNumberDynamicJumpiAfterStop.json OK + BlockNumberDynamicJumpiOutsideBoundary.json OK + BlockNumberDynamicJumpifInsidePushWithJumpDest.json OK + BlockNumberDynamicJumpifInsidePushWithoutJumpDest.json OK + DyanmicJump0_outOfBoundary.json OK + DynamicJump0_AfterJumpdest.json OK + DynamicJump0_AfterJumpdest3.json OK + DynamicJump0_foreverOutOfGas.json OK + DynamicJump0_jumpdest0.json OK + DynamicJump0_jumpdest2.json OK + DynamicJump0_withoutJumpdest.json OK + DynamicJump1.json OK + DynamicJumpAfterStop.json OK + DynamicJumpInsidePushWithJumpDest.json OK + DynamicJumpInsidePushWithoutJumpDest.json OK + DynamicJumpJD_DependsOnJumps0.json OK + DynamicJumpJD_DependsOnJumps1.json OK + DynamicJumpPathologicalTest0.json OK + DynamicJumpPathologicalTest1.json OK + DynamicJumpPathologicalTest2.json OK + DynamicJumpPathologicalTest3.json OK + DynamicJumpStartWithJumpDest.json OK + DynamicJump_value1.json OK + DynamicJump_value2.json OK + DynamicJump_value3.json OK + DynamicJump_valueUnderflow.json OK + DynamicJumpi0.json OK + DynamicJumpi1.json OK + DynamicJumpi1_jumpdest.json OK + DynamicJumpiAfterStop.json OK + DynamicJumpiOutsideBoundary.json OK + DynamicJumpifInsidePushWithJumpDest.json OK + DynamicJumpifInsidePushWithoutJumpDest.json OK + JDfromStorageDynamicJump0_AfterJumpdest.json OK + JDfromStorageDynamicJump0_AfterJumpdest3.json OK + JDfromStorageDynamicJump0_foreverOutOfGas.json OK - JDfromStorageDynamicJump0_jumpdest0.json Fail - JDfromStorageDynamicJump0_jumpdest2.json Fail + JDfromStorageDynamicJump0_withoutJumpdest.json OK + JDfromStorageDynamicJump1.json OK + JDfromStorageDynamicJumpInsidePushWithJumpDest.json OK + JDfromStorageDynamicJumpInsidePushWithoutJumpDest.json OK + JDfromStorageDynamicJumpi0.json OK - JDfromStorageDynamicJumpi1.json Fail + JDfromStorageDynamicJumpi1_jumpdest.json OK - JDfromStorageDynamicJumpiAfterStop.json Fail + JDfromStorageDynamicJumpiOutsideBoundary.json OK + JDfromStorageDynamicJumpifInsidePushWithJumpDest.json OK + JDfromStorageDynamicJumpifInsidePushWithoutJumpDest.json OK + bad_indirect_jump1.json OK + bad_indirect_jump2.json OK + byte1.json OK calldatacopyMemExp.json Skip - codecopyMemExp.json Fail + deadCode_1.json OK + dupAt51becameMload.json OK - extcodecopyMemExp.json Fail + for_loop1.json OK + for_loop2.json OK + gas0.json OK + gas1.json OK + gasOverFlow.json OK + indirect_jump1.json OK + indirect_jump2.json OK + indirect_jump3.json OK + indirect_jump4.json OK + jump0_AfterJumpdest.json OK + jump0_AfterJumpdest3.json OK + jump0_foreverOutOfGas.json OK + jump0_jumpdest0.json OK + jump0_jumpdest2.json OK + jump0_outOfBoundary.json OK + jump0_withoutJumpdest.json OK + jump1.json OK + jumpAfterStop.json OK + jumpDynamicJumpSameDest.json OK + jumpHigh.json OK + jumpInsidePushWithJumpDest.json OK + jumpInsidePushWithoutJumpDest.json OK + jumpOntoJump.json OK + jumpTo1InstructionafterJump.json OK + jumpTo1InstructionafterJump_jumpdestFirstInstruction.json OK + jumpTo1InstructionafterJump_noJumpDest.json OK + jumpToUint64maxPlus1.json OK + jumpToUintmaxPlus1.json OK + jumpdestBigList.json OK + jumpi0.json OK + jumpi1.json OK + jumpi1_jumpdest.json OK + jumpiAfterStop.json OK + jumpiOutsideBoundary.json OK + jumpiToUint64maxPlus1.json OK + jumpiToUintmaxPlus1.json OK + jumpi_at_the_end.json OK + jumpifInsidePushWithJumpDest.json OK + jumpifInsidePushWithoutJumpDest.json OK + kv1.json OK + log1MemExp.json OK + loop_stacklimit_1020.json OK + loop_stacklimit_1021.json OK + memory1.json OK + mloadError0.json OK + mloadError1.json OK + mloadMemExp.json OK + mloadOutOfGasError2.json OK + msize0.json OK + msize1.json OK + msize2.json OK + msize3.json OK + mstore0.json OK + mstore1.json OK + mstore8MemExp.json OK + mstore8WordToBigError.json OK + mstore8_0.json OK + mstore8_1.json OK + mstoreMemExp.json OK + mstoreWordToBigError.json OK + mstore_mload0.json OK + pc0.json OK + pc1.json OK + pop0.json OK + pop1.json OK + return1.json OK + return2.json OK + sha3MemExp.json OK + sstore_load_0.json OK + sstore_load_1.json OK + sstore_load_2.json OK + sstore_underflow.json OK + stack_loop.json OK + stackjump1.json OK + swapAt52becameMstore.json OK + when.json OK ``` OK: 138/145 Fail: 6/145 Skip: 1/145 ## vmLogTest ```diff + log0_emptyMem.json OK + log0_logMemStartTooHigh.json OK + log0_logMemsizeTooHigh.json OK + log0_logMemsizeZero.json OK + log0_nonEmptyMem.json OK + log0_nonEmptyMem_logMemSize1.json OK + log0_nonEmptyMem_logMemSize1_logMemStart31.json OK + log1_Caller.json OK + log1_MaxTopic.json OK + log1_emptyMem.json OK + log1_logMemStartTooHigh.json OK + log1_logMemsizeTooHigh.json OK + log1_logMemsizeZero.json OK + log1_nonEmptyMem.json OK + log1_nonEmptyMem_logMemSize1.json OK + log1_nonEmptyMem_logMemSize1_logMemStart31.json OK + log2_Caller.json OK + log2_MaxTopic.json OK + log2_emptyMem.json OK + log2_logMemStartTooHigh.json OK + log2_logMemsizeTooHigh.json OK + log2_logMemsizeZero.json OK + log2_nonEmptyMem.json OK + log2_nonEmptyMem_logMemSize1.json OK + log2_nonEmptyMem_logMemSize1_logMemStart31.json OK + log3_Caller.json OK + log3_MaxTopic.json OK + log3_PC.json OK + log3_emptyMem.json OK + log3_logMemStartTooHigh.json OK + log3_logMemsizeTooHigh.json OK + log3_logMemsizeZero.json OK + log3_nonEmptyMem.json OK + log3_nonEmptyMem_logMemSize1.json OK + log3_nonEmptyMem_logMemSize1_logMemStart31.json OK + log4_Caller.json OK + log4_MaxTopic.json OK + log4_PC.json OK + log4_emptyMem.json OK + log4_logMemStartTooHigh.json OK + log4_logMemsizeTooHigh.json OK + log4_logMemsizeZero.json OK + log4_nonEmptyMem.json OK + log4_nonEmptyMem_logMemSize1.json OK + log4_nonEmptyMem_logMemSize1_logMemStart31.json OK + log_2logs.json OK ``` OK: 46/46 Fail: 0/46 Skip: 0/46 ## vmPerformance ```diff ackermann31.json Skip ackermann32.json Skip ackermann33.json Skip fibonacci10.json Skip fibonacci16.json Skip loop-add-10M.json Skip loop-divadd-10M.json Skip loop-divadd-unr100-10M.json Skip loop-exp-16b-100k.json Skip loop-exp-1b-1M.json Skip loop-exp-2b-100k.json Skip loop-exp-32b-100k.json Skip loop-exp-4b-100k.json Skip loop-exp-8b-100k.json Skip loop-exp-nop-1M.json Skip loop-mul.json Skip loop-mulmod-2M.json Skip manyFunctions100.json Skip ``` OK: 0/18 Fail: 0/18 Skip: 18/18 ## vmPushDupSwapTest ```diff + dup1.json OK + dup10.json OK + dup11.json OK + dup12.json OK + dup13.json OK + dup14.json OK + dup15.json OK + dup16.json OK + dup2.json OK + dup2error.json OK + dup3.json OK + dup4.json OK + dup5.json OK + dup6.json OK + dup7.json OK + dup8.json OK + dup9.json OK + push1.json OK + push10.json OK + push11.json OK + push12.json OK + push13.json OK + push14.json OK + push15.json OK + push16.json OK + push17.json OK + push18.json OK + push19.json OK + push1_missingStack.json OK + push2.json OK + push20.json OK + push21.json OK + push22.json OK + push23.json OK + push24.json OK + push25.json OK + push26.json OK + push27.json OK + push28.json OK + push29.json OK + push3.json OK + push30.json OK + push31.json OK + push32.json OK + push32AndSuicide.json OK + push32FillUpInputWithZerosAtTheEnd.json OK + push32Undefined.json OK + push32Undefined2.json OK + push32Undefined3.json OK + push33.json OK + push4.json OK + push5.json OK + push6.json OK + push7.json OK + push8.json OK + push9.json OK + swap1.json OK + swap10.json OK + swap11.json OK + swap12.json OK + swap13.json OK + swap14.json OK + swap15.json OK + swap16.json OK + swap2.json OK + swap2error.json OK + swap3.json OK + swap4.json OK + swap5.json OK + swap6.json OK + swap7.json OK + swap8.json OK + swap9.json OK + swapjump1.json OK ``` OK: 74/74 Fail: 0/74 Skip: 0/74 ## vmRandomTest ```diff 201503102037PYTHON.json Skip 201503102148PYTHON.json Skip 201503102300PYTHON.json Skip 201503102320PYTHON.json Skip 201503110050PYTHON.json Skip 201503110206PYTHON.json Skip 201503110219PYTHON.json Skip 201503110226PYTHON_DUP6.json Skip 201503110346PYTHON_PUSH24.json Skip 201503110526PYTHON.json Skip 201503111844PYTHON.json Skip 201503112218PYTHON.json Skip 201503120317PYTHON.json Skip 201503120525PYTHON.json Skip 201503120547PYTHON.json Skip 201503120909PYTHON.json Skip randomTest.json Skip ``` OK: 0/17 Fail: 0/17 Skip: 17/17 ## vmSha3Test ```diff + sha3_0.json OK + sha3_1.json OK + sha3_2.json OK + sha3_3.json OK + sha3_4.json OK + sha3_5.json OK + sha3_6.json OK + sha3_bigOffset.json OK + sha3_bigOffset2.json OK + sha3_bigSize.json OK + sha3_memSizeNoQuadraticCost31.json OK + sha3_memSizeQuadraticCost32.json OK + sha3_memSizeQuadraticCost32_zeroSize.json OK + sha3_memSizeQuadraticCost33.json OK + sha3_memSizeQuadraticCost63.json OK + sha3_memSizeQuadraticCost64.json OK + sha3_memSizeQuadraticCost64_2.json OK + sha3_memSizeQuadraticCost65.json OK ``` OK: 18/18 Fail: 0/18 Skip: 0/18 ## vmSystemOperations ```diff ABAcalls0.json Skip ABAcalls1.json Skip ABAcalls2.json Skip ABAcalls3.json Skip ABAcallsSuicide0.json Skip ABAcallsSuicide1.json Skip CallRecursiveBomb0.json Skip CallRecursiveBomb1.json Skip CallRecursiveBomb2.json Skip CallRecursiveBomb3.json Skip CallToNameRegistrator0.json Skip CallToNameRegistratorNotMuchMemory0.json Skip CallToNameRegistratorNotMuchMemory1.json Skip CallToNameRegistratorOutOfGas.json Skip CallToNameRegistratorTooMuchMemory0.json Skip CallToNameRegistratorTooMuchMemory1.json Skip CallToNameRegistratorTooMuchMemory2.json Skip CallToPrecompiledContract.json Skip CallToReturn1.json Skip PostToNameRegistrator0.json Skip PostToReturn1.json Skip TestNameRegistrator.json Skip callcodeToNameRegistrator0.json Skip callcodeToReturn1.json Skip callstatelessToNameRegistrator0.json Skip callstatelessToReturn1.json Skip createNameRegistrator.json Skip createNameRegistratorOutOfMemoryBonds0.json Skip createNameRegistratorOutOfMemoryBonds1.json Skip createNameRegistratorValueTooHigh.json Skip return0.json Skip return1.json Skip return2.json Skip suicide0.json Skip suicideNotExistingAccount.json Skip suicideSendEtherToMe.json Skip ``` OK: 0/36 Fail: 0/36 Skip: 36/36 ## vmTests ```diff - arith.json Fail - boolean.json Fail - mktx.json Fail + suicide.json OK ``` OK: 1/4 Fail: 3/4 Skip: 0/4