You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuweni.apache.org by to...@apache.org on 2020/08/06 07:46:22 UTC
[incubator-tuweni] branch master updated: EVM reference tests
This is an automated email from the ASF dual-hosted git repository.
toulmean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-tuweni.git
The following commit(s) were added to refs/heads/master by this push:
new b1db9e8 EVM reference tests
new 77002de Merge pull request #140 from atoulme/evm
b1db9e8 is described below
commit b1db9e8edc46864ac6a851b5dcdea094839d7dbc
Author: Antoine Toulme <an...@lunar-ocean.com>
AuthorDate: Wed Jul 29 00:14:13 2020 -0700
EVM reference tests
---
build.gradle | 3 +-
dependency-versions.gradle | 2 +-
.../tuweni/eth/repository/BlockchainRepository.kt | 9 +
.../java/org/apache/tuweni/eth/EthJsonModule.java | 88 ++++++
eth/src/main/java/org/apache/tuweni/eth/Log.java | 10 +
evm/build.gradle | 5 +
.../apache/tuweni/evm/EthereumVirtualMachine.kt | 114 ++++++--
.../tuweni/evm/TransactionalEVMHostContext.kt | 107 +++++++-
evm/src/main/resources/libevmc.dylib | Bin 23624 -> 33487 bytes
evm/src/main/resources/libevmc.so | Bin 22376 -> 22440 bytes
.../org/apache/tuweni/evm/EVMReferenceTest.kt | 302 +++++++++++++++++++++
.../tuweni/evm/EthereumVirtualMachineTest.kt | 37 ++-
.../resources/VMTests/vmArithmeticTest/add0.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/add1.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/add2.json | 51 ++++
.../resources/VMTests/vmArithmeticTest/add3.json | 51 ++++
.../resources/VMTests/vmArithmeticTest/add4.json | 51 ++++
.../VMTests/vmArithmeticTest/addmod0.json | 52 ++++
.../VMTests/vmArithmeticTest/addmod1.json | 52 ++++
.../vmArithmeticTest/addmod1_overflow2.json | 51 ++++
.../vmArithmeticTest/addmod1_overflow3.json | 52 ++++
.../vmArithmeticTest/addmod1_overflow4.json | 52 ++++
.../vmArithmeticTest/addmod1_overflowDiff.json | 52 ++++
.../VMTests/vmArithmeticTest/addmod2.json | 52 ++++
.../VMTests/vmArithmeticTest/addmod2_0.json | 51 ++++
.../VMTests/vmArithmeticTest/addmod2_1.json | 52 ++++
.../VMTests/vmArithmeticTest/addmod3.json | 52 ++++
.../VMTests/vmArithmeticTest/addmod3_0.json | 51 ++++
.../VMTests/vmArithmeticTest/addmodBigIntCast.json | 52 ++++
.../VMTests/vmArithmeticTest/addmodDivByZero.json | 51 ++++
.../VMTests/vmArithmeticTest/addmodDivByZero1.json | 51 ++++
.../VMTests/vmArithmeticTest/addmodDivByZero2.json | 51 ++++
.../VMTests/vmArithmeticTest/addmodDivByZero3.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/arith1.json | 51 ++++
.../resources/VMTests/vmArithmeticTest/div1.json | 51 ++++
.../VMTests/vmArithmeticTest/divBoostBug.json | 52 ++++
.../VMTests/vmArithmeticTest/divByNonZero0.json | 52 ++++
.../VMTests/vmArithmeticTest/divByNonZero1.json | 51 ++++
.../VMTests/vmArithmeticTest/divByNonZero2.json | 51 ++++
.../VMTests/vmArithmeticTest/divByNonZero3.json | 52 ++++
.../VMTests/vmArithmeticTest/divByZero.json | 51 ++++
.../VMTests/vmArithmeticTest/divByZero_2.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/exp0.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/exp1.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/exp2.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/exp3.json | 51 ++++
.../resources/VMTests/vmArithmeticTest/exp4.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/exp5.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/exp6.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/exp7.json | 51 ++++
.../resources/VMTests/vmArithmeticTest/exp8.json | 52 ++++
.../vmArithmeticTest/expPowerOf256Of256_0.json | 60 ++++
.../vmArithmeticTest/expPowerOf256Of256_1.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_10.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_11.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_12.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_13.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_14.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_15.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_16.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_17.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_18.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_19.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_2.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_20.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_21.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_22.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_23.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_24.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_25.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_26.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_27.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_28.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_29.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_3.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_30.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_31.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_32.json | 58 ++++
.../vmArithmeticTest/expPowerOf256Of256_33.json | 58 ++++
.../vmArithmeticTest/expPowerOf256Of256_4.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_5.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_6.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_7.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_8.json | 57 ++++
.../vmArithmeticTest/expPowerOf256Of256_9.json | 57 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_1.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_10.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_11.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_12.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_13.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_14.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_15.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_16.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_17.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_18.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_19.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_2.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_20.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_21.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_22.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_23.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_24.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_25.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_26.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_27.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_28.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_29.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_3.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_30.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_31.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_32.json | 53 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_33.json | 53 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_4.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_5.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_6.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_7.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_8.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf256_9.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf2_128.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf2_16.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf2_2.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf2_256.json | 52 ++++
.../VMTests/vmArithmeticTest/expPowerOf2_32.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf2_4.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf2_64.json | 54 ++++
.../VMTests/vmArithmeticTest/expPowerOf2_8.json | 54 ++++
.../resources/VMTests/vmArithmeticTest/expXY.json | 53 ++++
.../VMTests/vmArithmeticTest/expXY_success.json | 54 ++++
.../vmArithmeticTest/fibbonacci_unrolled.json | 51 ++++
.../resources/VMTests/vmArithmeticTest/mod0.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/mod1.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/mod2.json | 51 ++++
.../resources/VMTests/vmArithmeticTest/mod3.json | 51 ++++
.../resources/VMTests/vmArithmeticTest/mod4.json | 52 ++++
.../VMTests/vmArithmeticTest/modByZero.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/mul0.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/mul1.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/mul2.json | 51 ++++
.../resources/VMTests/vmArithmeticTest/mul3.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/mul4.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/mul5.json | 51 ++++
.../resources/VMTests/vmArithmeticTest/mul6.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/mul7.json | 51 ++++
.../VMTests/vmArithmeticTest/mulUnderFlow.json | 37 +++
.../VMTests/vmArithmeticTest/mulmod0.json | 51 ++++
.../VMTests/vmArithmeticTest/mulmod1.json | 51 ++++
.../VMTests/vmArithmeticTest/mulmod1_overflow.json | 51 ++++
.../vmArithmeticTest/mulmod1_overflow2.json | 52 ++++
.../vmArithmeticTest/mulmod1_overflow3.json | 52 ++++
.../vmArithmeticTest/mulmod1_overflow4.json | 52 ++++
.../VMTests/vmArithmeticTest/mulmod2.json | 52 ++++
.../VMTests/vmArithmeticTest/mulmod2_0.json | 51 ++++
.../VMTests/vmArithmeticTest/mulmod2_1.json | 52 ++++
.../VMTests/vmArithmeticTest/mulmod3.json | 52 ++++
.../VMTests/vmArithmeticTest/mulmod3_0.json | 51 ++++
.../VMTests/vmArithmeticTest/mulmod4.json | 51 ++++
.../VMTests/vmArithmeticTest/mulmoddivByZero.json | 51 ++++
.../VMTests/vmArithmeticTest/mulmoddivByZero1.json | 51 ++++
.../VMTests/vmArithmeticTest/mulmoddivByZero2.json | 51 ++++
.../VMTests/vmArithmeticTest/mulmoddivByZero3.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/not1.json | 51 ++++
.../resources/VMTests/vmArithmeticTest/sdiv0.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/sdiv1.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/sdiv2.json | 51 ++++
.../resources/VMTests/vmArithmeticTest/sdiv3.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/sdiv4.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/sdiv5.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/sdiv6.json | 51 ++++
.../resources/VMTests/vmArithmeticTest/sdiv7.json | 51 ++++
.../resources/VMTests/vmArithmeticTest/sdiv8.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/sdiv9.json | 52 ++++
.../VMTests/vmArithmeticTest/sdivByZero0.json | 51 ++++
.../VMTests/vmArithmeticTest/sdivByZero1.json | 51 ++++
.../VMTests/vmArithmeticTest/sdivByZero2.json | 52 ++++
.../VMTests/vmArithmeticTest/sdiv_dejavu.json | 52 ++++
.../VMTests/vmArithmeticTest/sdiv_i256min.json | 52 ++++
.../VMTests/vmArithmeticTest/sdiv_i256min2.json | 52 ++++
.../VMTests/vmArithmeticTest/sdiv_i256min3.json | 51 ++++
.../signextendInvalidByteNumber.json | 52 ++++
.../VMTests/vmArithmeticTest/signextend_00.json | 51 ++++
.../vmArithmeticTest/signextend_0_BigByte.json | 52 ++++
.../signextend_AlmostBiggestByte.json | 52 ++++
.../signextend_BigByteBigByte.json | 52 ++++
.../signextend_BigBytePlus1_2.json | 52 ++++
.../vmArithmeticTest/signextend_BigByte_0.json | 51 ++++
.../vmArithmeticTest/signextend_BitIsNotSet.json | 52 ++++
.../signextend_BitIsNotSetInHigherByte.json | 52 ++++
.../signextend_BitIsSetInHigherByte.json | 52 ++++
.../vmArithmeticTest/signextend_Overflow_dj42.json | 51 ++++
.../vmArithmeticTest/signextend_bigBytePlus1.json | 52 ++++
.../vmArithmeticTest/signextend_bitIsSet.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/smod0.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/smod1.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/smod2.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/smod3.json | 51 ++++
.../resources/VMTests/vmArithmeticTest/smod4.json | 51 ++++
.../resources/VMTests/vmArithmeticTest/smod5.json | 51 ++++
.../resources/VMTests/vmArithmeticTest/smod6.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/smod7.json | 51 ++++
.../VMTests/vmArithmeticTest/smod8_byZero.json | 52 ++++
.../VMTests/vmArithmeticTest/smod_i256min1.json | 51 ++++
.../VMTests/vmArithmeticTest/smod_i256min2.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/stop.json | 51 ++++
.../resources/VMTests/vmArithmeticTest/sub0.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/sub1.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/sub2.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/sub3.json | 52 ++++
.../resources/VMTests/vmArithmeticTest/sub4.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/and0.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/and1.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/and2.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/and3.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/and4.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/and5.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/byte0.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/byte1.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/byte10.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/byte11.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/byte2.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/byte3.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/byte4.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/byte5.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/byte6.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/byte7.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/byte8.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/byte9.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/byteBN.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/eq0.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/eq1.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/eq2.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/gt0.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/gt1.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/gt2.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/gt3.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/iszeo2.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/iszero0.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/iszero1.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/lt0.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/lt1.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/lt2.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/lt3.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/not0.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/not1.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/not2.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/not3.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/not4.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/not5.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/or0.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/or1.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/or2.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/or3.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/or4.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/or5.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/sgt0.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/sgt1.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/sgt2.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/sgt3.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/sgt4.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/slt0.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/slt1.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/slt2.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/slt3.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/slt4.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/xor0.json | 51 ++++
.../VMTests/vmBitwiseLogicOperation/xor1.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/xor2.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/xor3.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/xor4.json | 52 ++++
.../VMTests/vmBitwiseLogicOperation/xor5.json | 52 ++++
.../VMTests/vmBlockInfoTest/coinbase.json | 52 ++++
.../VMTests/vmBlockInfoTest/difficulty.json | 52 ++++
.../VMTests/vmBlockInfoTest/gaslimit.json | 52 ++++
.../resources/VMTests/vmBlockInfoTest/number.json | 52 ++++
.../VMTests/vmBlockInfoTest/timestamp.json | 52 ++++
.../VMTests/vmEnvironmentalInfo/address0.json | 52 ++++
.../VMTests/vmEnvironmentalInfo/address1.json | 52 ++++
.../VMTests/vmEnvironmentalInfo/calldatacopy0.json | 52 ++++
.../vmEnvironmentalInfo/calldatacopy0_return.json | 52 ++++
.../VMTests/vmEnvironmentalInfo/calldatacopy1.json | 52 ++++
.../vmEnvironmentalInfo/calldatacopy1_return.json | 52 ++++
.../VMTests/vmEnvironmentalInfo/calldatacopy2.json | 51 ++++
.../vmEnvironmentalInfo/calldatacopy2_return.json | 51 ++++
.../vmEnvironmentalInfo/calldatacopyUnderFlow.json | 37 +++
.../calldatacopyZeroMemExpansion.json | 51 ++++
.../calldatacopyZeroMemExpansion_return.json | 51 ++++
.../calldatacopy_DataIndexTooHigh.json | 51 ++++
.../calldatacopy_DataIndexTooHigh2.json | 51 ++++
.../calldatacopy_DataIndexTooHigh2_return.json | 51 ++++
.../calldatacopy_DataIndexTooHigh_return.json | 51 ++++
.../vmEnvironmentalInfo/calldatacopy_sec.json | 52 ++++
.../VMTests/vmEnvironmentalInfo/calldataload0.json | 52 ++++
.../VMTests/vmEnvironmentalInfo/calldataload1.json | 52 ++++
.../VMTests/vmEnvironmentalInfo/calldataload2.json | 52 ++++
.../calldataloadSizeTooHigh.json | 51 ++++
.../calldataloadSizeTooHighPartial.json | 52 ++++
.../calldataload_BigOffset.json | 51 ++++
.../VMTests/vmEnvironmentalInfo/calldatasize0.json | 52 ++++
.../VMTests/vmEnvironmentalInfo/calldatasize1.json | 52 ++++
.../VMTests/vmEnvironmentalInfo/calldatasize2.json | 52 ++++
.../VMTests/vmEnvironmentalInfo/caller.json | 52 ++++
.../VMTests/vmEnvironmentalInfo/callvalue.json | 52 ++++
.../VMTests/vmEnvironmentalInfo/codecopy0.json | 52 ++++
.../codecopyZeroMemExpansion.json | 51 ++++
.../codecopy_DataIndexTooHigh.json | 51 ++++
.../VMTests/vmEnvironmentalInfo/codesize.json | 52 ++++
.../VMTests/vmEnvironmentalInfo/gasprice.json | 52 ++++
.../VMTests/vmEnvironmentalInfo/origin.json | 52 ++++
.../BlockNumberDynamicJump0_AfterJumpdest.json | 37 +++
.../BlockNumberDynamicJump0_AfterJumpdest3.json | 37 +++
.../BlockNumberDynamicJump0_foreverOutOfGas.json | 37 +++
.../BlockNumberDynamicJump0_jumpdest0.json | 52 ++++
.../BlockNumberDynamicJump0_jumpdest2.json | 52 ++++
.../BlockNumberDynamicJump0_withoutJumpdest.json | 37 +++
.../BlockNumberDynamicJump1.json | 37 +++
...ockNumberDynamicJumpInsidePushWithJumpDest.json | 37 +++
...NumberDynamicJumpInsidePushWithoutJumpDest.json | 37 +++
.../BlockNumberDynamicJumpi0.json | 37 +++
.../BlockNumberDynamicJumpi1.json | 52 ++++
.../BlockNumberDynamicJumpi1_jumpdest.json | 37 +++
.../BlockNumberDynamicJumpiAfterStop.json | 52 ++++
.../BlockNumberDynamicJumpiOutsideBoundary.json | 37 +++
...kNumberDynamicJumpifInsidePushWithJumpDest.json | 37 +++
...mberDynamicJumpifInsidePushWithoutJumpDest.json | 37 +++
.../DyanmicJump0_outOfBoundary.json | 38 +++
.../DynamicJump0_AfterJumpdest.json | 37 +++
.../DynamicJump0_AfterJumpdest3.json | 37 +++
.../DynamicJump0_foreverOutOfGas.json | 37 +++
.../DynamicJump0_jumpdest0.json | 52 ++++
.../DynamicJump0_jumpdest2.json | 52 ++++
.../DynamicJump0_withoutJumpdest.json | 37 +++
.../vmIOandFlowOperations/DynamicJump1.json | 37 +++
.../DynamicJumpAfterStop.json | 52 ++++
.../DynamicJumpInsidePushWithJumpDest.json | 37 +++
.../DynamicJumpInsidePushWithoutJumpDest.json | 37 +++
.../DynamicJumpJD_DependsOnJumps0.json | 37 +++
.../DynamicJumpJD_DependsOnJumps1.json | 52 ++++
.../DynamicJumpPathologicalTest0.json | 52 ++++
.../DynamicJumpPathologicalTest1.json | 37 +++
.../DynamicJumpPathologicalTest2.json | 37 +++
.../DynamicJumpPathologicalTest3.json | 37 +++
.../DynamicJumpStartWithJumpDest.json | 52 ++++
.../vmIOandFlowOperations/DynamicJump_value1.json | 51 ++++
.../vmIOandFlowOperations/DynamicJump_value2.json | 51 ++++
.../vmIOandFlowOperations/DynamicJump_value3.json | 51 ++++
.../DynamicJump_valueUnderflow.json | 37 +++
.../vmIOandFlowOperations/DynamicJumpi0.json | 37 +++
.../vmIOandFlowOperations/DynamicJumpi1.json | 52 ++++
.../DynamicJumpi1_jumpdest.json | 37 +++
.../DynamicJumpiAfterStop.json | 52 ++++
.../DynamicJumpiOutsideBoundary.json | 37 +++
.../DynamicJumpifInsidePushWithJumpDest.json | 37 +++
.../DynamicJumpifInsidePushWithoutJumpDest.json | 37 +++
.../JDfromStorageDynamicJump0_AfterJumpdest.json | 38 +++
.../JDfromStorageDynamicJump0_AfterJumpdest3.json | 38 +++
.../JDfromStorageDynamicJump0_foreverOutOfGas.json | 38 +++
.../JDfromStorageDynamicJump0_jumpdest0.json | 54 ++++
.../JDfromStorageDynamicJump0_jumpdest2.json | 54 ++++
.../JDfromStorageDynamicJump0_withoutJumpdest.json | 38 +++
.../JDfromStorageDynamicJump1.json | 38 +++
...omStorageDynamicJumpInsidePushWithJumpDest.json | 38 +++
...torageDynamicJumpInsidePushWithoutJumpDest.json | 38 +++
.../JDfromStorageDynamicJumpi0.json | 38 +++
.../JDfromStorageDynamicJumpi1.json | 54 ++++
.../JDfromStorageDynamicJumpi1_jumpdest.json | 38 +++
.../JDfromStorageDynamicJumpiAfterStop.json | 54 ++++
.../JDfromStorageDynamicJumpiOutsideBoundary.json | 38 +++
...StorageDynamicJumpifInsidePushWithJumpDest.json | 38 +++
...rageDynamicJumpifInsidePushWithoutJumpDest.json | 38 +++
.../vmIOandFlowOperations/bad_indirect_jump1.json | 37 +++
.../vmIOandFlowOperations/bad_indirect_jump2.json | 37 +++
.../VMTests/vmIOandFlowOperations/byte1.json | 51 ++++
.../vmIOandFlowOperations/calldatacopyMemExp.json | 37 +++
.../vmIOandFlowOperations/codecopyMemExp.json | 37 +++
.../VMTests/vmIOandFlowOperations/deadCode_1.json | 51 ++++
.../vmIOandFlowOperations/dupAt51becameMload.json | 52 ++++
.../VMTests/vmIOandFlowOperations/for_loop1.json | 51 ++++
.../VMTests/vmIOandFlowOperations/for_loop2.json | 51 ++++
.../VMTests/vmIOandFlowOperations/gas0.json | 52 ++++
.../VMTests/vmIOandFlowOperations/gas1.json | 52 ++++
.../VMTests/vmIOandFlowOperations/gasOverFlow.json | 37 +++
.../vmIOandFlowOperations/indirect_jump1.json | 51 ++++
.../vmIOandFlowOperations/indirect_jump2.json | 51 ++++
.../vmIOandFlowOperations/indirect_jump3.json | 51 ++++
.../vmIOandFlowOperations/indirect_jump4.json | 51 ++++
.../vmIOandFlowOperations/jump0_AfterJumpdest.json | 37 +++
.../jump0_AfterJumpdest3.json | 37 +++
.../jump0_foreverOutOfGas.json | 37 +++
.../vmIOandFlowOperations/jump0_jumpdest0.json | 52 ++++
.../vmIOandFlowOperations/jump0_jumpdest2.json | 52 ++++
.../vmIOandFlowOperations/jump0_outOfBoundary.json | 37 +++
.../jump0_withoutJumpdest.json | 37 +++
.../VMTests/vmIOandFlowOperations/jump1.json | 37 +++
.../vmIOandFlowOperations/jumpAfterStop.json | 52 ++++
.../jumpDynamicJumpSameDest.json | 51 ++++
.../VMTests/vmIOandFlowOperations/jumpHigh.json | 37 +++
.../jumpInsidePushWithJumpDest.json | 37 +++
.../jumpInsidePushWithoutJumpDest.json | 37 +++
.../vmIOandFlowOperations/jumpOntoJump.json | 37 +++
.../jumpTo1InstructionafterJump.json | 52 ++++
...tructionafterJump_jumpdestFirstInstruction.json | 37 +++
.../jumpTo1InstructionafterJump_noJumpDest.json | 37 +++
.../jumpToUint64maxPlus1.json | 37 +++
.../vmIOandFlowOperations/jumpToUintmaxPlus1.json | 37 +++
.../vmIOandFlowOperations/jumpdestBigList.json | 51 ++++
.../VMTests/vmIOandFlowOperations/jumpi0.json | 37 +++
.../VMTests/vmIOandFlowOperations/jumpi1.json | 52 ++++
.../vmIOandFlowOperations/jumpi1_jumpdest.json | 37 +++
.../vmIOandFlowOperations/jumpiAfterStop.json | 52 ++++
.../jumpiOutsideBoundary.json | 37 +++
.../jumpiToUint64maxPlus1.json | 37 +++
.../vmIOandFlowOperations/jumpiToUintmaxPlus1.json | 37 +++
.../vmIOandFlowOperations/jumpi_at_the_end.json | 51 ++++
.../jumpifInsidePushWithJumpDest.json | 37 +++
.../jumpifInsidePushWithoutJumpDest.json | 37 +++
.../VMTests/vmIOandFlowOperations/kv1.json | 52 ++++
.../VMTests/vmIOandFlowOperations/log1MemExp.json | 37 +++
.../loop_stacklimit_1020.json | 51 ++++
.../loop_stacklimit_1021.json | 37 +++
.../VMTests/vmIOandFlowOperations/memory1.json | 51 ++++
.../VMTests/vmIOandFlowOperations/mloadError0.json | 51 ++++
.../VMTests/vmIOandFlowOperations/mloadError1.json | 51 ++++
.../VMTests/vmIOandFlowOperations/mloadMemExp.json | 37 +++
.../vmIOandFlowOperations/mloadOutOfGasError2.json | 37 +++
.../VMTests/vmIOandFlowOperations/msize0.json | 52 ++++
.../VMTests/vmIOandFlowOperations/msize1.json | 52 ++++
.../VMTests/vmIOandFlowOperations/msize2.json | 52 ++++
.../VMTests/vmIOandFlowOperations/msize3.json | 52 ++++
.../VMTests/vmIOandFlowOperations/mstore0.json | 52 ++++
.../VMTests/vmIOandFlowOperations/mstore1.json | 52 ++++
.../vmIOandFlowOperations/mstore8MemExp.json | 37 +++
.../mstore8WordToBigError.json | 52 ++++
.../VMTests/vmIOandFlowOperations/mstore8_0.json | 52 ++++
.../VMTests/vmIOandFlowOperations/mstore8_1.json | 52 ++++
.../vmIOandFlowOperations/mstoreMemExp.json | 37 +++
.../mstoreWordToBigError.json | 52 ++++
.../vmIOandFlowOperations/mstore_mload0.json | 52 ++++
.../VMTests/vmIOandFlowOperations/pc0.json | 51 ++++
.../VMTests/vmIOandFlowOperations/pc1.json | 52 ++++
.../VMTests/vmIOandFlowOperations/pop0.json | 52 ++++
.../VMTests/vmIOandFlowOperations/pop1.json | 37 +++
.../VMTests/vmIOandFlowOperations/return1.json | 37 +++
.../VMTests/vmIOandFlowOperations/return2.json | 51 ++++
.../VMTests/vmIOandFlowOperations/sha3MemExp.json | 37 +++
.../vmIOandFlowOperations/sstore_load_0.json | 54 ++++
.../vmIOandFlowOperations/sstore_load_1.json | 53 ++++
.../vmIOandFlowOperations/sstore_load_2.json | 56 ++++
.../vmIOandFlowOperations/sstore_underflow.json | 37 +++
.../VMTests/vmIOandFlowOperations/stack_loop.json | 37 +++
.../VMTests/vmIOandFlowOperations/stackjump1.json | 51 ++++
.../swapAt52becameMstore.json | 37 +++
.../VMTests/vmIOandFlowOperations/when.json | 51 ++++
.../resources/VMTests/vmLogTest/log0_emptyMem.json | 51 ++++
.../VMTests/vmLogTest/log0_logMemStartTooHigh.json | 37 +++
.../VMTests/vmLogTest/log0_logMemsizeTooHigh.json | 37 +++
.../VMTests/vmLogTest/log0_logMemsizeZero.json | 51 ++++
.../VMTests/vmLogTest/log0_nonEmptyMem.json | 51 ++++
.../vmLogTest/log0_nonEmptyMem_logMemSize1.json | 51 ++++
...log0_nonEmptyMem_logMemSize1_logMemStart31.json | 51 ++++
.../resources/VMTests/vmLogTest/log1_Caller.json | 51 ++++
.../resources/VMTests/vmLogTest/log1_MaxTopic.json | 51 ++++
.../resources/VMTests/vmLogTest/log1_emptyMem.json | 51 ++++
.../VMTests/vmLogTest/log1_logMemStartTooHigh.json | 37 +++
.../VMTests/vmLogTest/log1_logMemsizeTooHigh.json | 37 +++
.../VMTests/vmLogTest/log1_logMemsizeZero.json | 51 ++++
.../VMTests/vmLogTest/log1_nonEmptyMem.json | 51 ++++
.../vmLogTest/log1_nonEmptyMem_logMemSize1.json | 51 ++++
...log1_nonEmptyMem_logMemSize1_logMemStart31.json | 51 ++++
.../resources/VMTests/vmLogTest/log2_Caller.json | 51 ++++
.../resources/VMTests/vmLogTest/log2_MaxTopic.json | 51 ++++
.../resources/VMTests/vmLogTest/log2_emptyMem.json | 51 ++++
.../VMTests/vmLogTest/log2_logMemStartTooHigh.json | 37 +++
.../VMTests/vmLogTest/log2_logMemsizeTooHigh.json | 37 +++
.../VMTests/vmLogTest/log2_logMemsizeZero.json | 51 ++++
.../VMTests/vmLogTest/log2_nonEmptyMem.json | 51 ++++
.../vmLogTest/log2_nonEmptyMem_logMemSize1.json | 51 ++++
...log2_nonEmptyMem_logMemSize1_logMemStart31.json | 51 ++++
.../resources/VMTests/vmLogTest/log3_Caller.json | 51 ++++
.../resources/VMTests/vmLogTest/log3_MaxTopic.json | 51 ++++
.../test/resources/VMTests/vmLogTest/log3_PC.json | 51 ++++
.../resources/VMTests/vmLogTest/log3_emptyMem.json | 51 ++++
.../VMTests/vmLogTest/log3_logMemStartTooHigh.json | 37 +++
.../VMTests/vmLogTest/log3_logMemsizeTooHigh.json | 37 +++
.../VMTests/vmLogTest/log3_logMemsizeZero.json | 51 ++++
.../VMTests/vmLogTest/log3_nonEmptyMem.json | 51 ++++
.../vmLogTest/log3_nonEmptyMem_logMemSize1.json | 51 ++++
...log3_nonEmptyMem_logMemSize1_logMemStart31.json | 51 ++++
.../resources/VMTests/vmLogTest/log4_Caller.json | 51 ++++
.../resources/VMTests/vmLogTest/log4_MaxTopic.json | 51 ++++
.../test/resources/VMTests/vmLogTest/log4_PC.json | 51 ++++
.../resources/VMTests/vmLogTest/log4_emptyMem.json | 51 ++++
.../VMTests/vmLogTest/log4_logMemStartTooHigh.json | 37 +++
.../VMTests/vmLogTest/log4_logMemsizeTooHigh.json | 37 +++
.../VMTests/vmLogTest/log4_logMemsizeZero.json | 51 ++++
.../VMTests/vmLogTest/log4_nonEmptyMem.json | 51 ++++
.../vmLogTest/log4_nonEmptyMem_logMemSize1.json | 51 ++++
...log4_nonEmptyMem_logMemSize1_logMemStart31.json | 51 ++++
.../resources/VMTests/vmLogTest/log_2logs.json | 51 ++++
.../VMTests/vmPerformance/ackermann31.json | 51 ++++
.../VMTests/vmPerformance/ackermann32.json | 51 ++++
.../VMTests/vmPerformance/ackermann33.json | 37 +++
.../VMTests/vmPerformance/fibonacci10.json | 51 ++++
.../VMTests/vmPerformance/fibonacci16.json | 51 ++++
.../VMTests/vmPerformance/loop-add-10M.json | 51 ++++
.../VMTests/vmPerformance/loop-divadd-10M.json | 51 ++++
.../vmPerformance/loop-divadd-unr100-10M.json | 51 ++++
.../VMTests/vmPerformance/loop-exp-16b-100k.json | 51 ++++
.../VMTests/vmPerformance/loop-exp-1b-1M.json | 51 ++++
.../VMTests/vmPerformance/loop-exp-2b-100k.json | 51 ++++
.../VMTests/vmPerformance/loop-exp-32b-100k.json | 51 ++++
.../VMTests/vmPerformance/loop-exp-4b-100k.json | 51 ++++
.../VMTests/vmPerformance/loop-exp-8b-100k.json | 51 ++++
.../VMTests/vmPerformance/loop-exp-nop-1M.json | 51 ++++
.../resources/VMTests/vmPerformance/loop-mul.json | 51 ++++
.../VMTests/vmPerformance/loop-mulmod-2M.json | 51 ++++
.../VMTests/vmPerformance/manyFunctions100.json | 51 ++++
.../resources/VMTests/vmPushDupSwapTest/dup1.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/dup10.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/dup11.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/dup12.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/dup13.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/dup14.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/dup15.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/dup16.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/dup2.json | 52 ++++
.../VMTests/vmPushDupSwapTest/dup2error.json | 37 +++
.../resources/VMTests/vmPushDupSwapTest/dup3.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/dup4.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/dup5.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/dup6.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/dup7.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/dup8.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/dup9.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/push1.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push10.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push11.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push12.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push13.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push14.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push15.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push16.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push17.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push18.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push19.json | 52 ++++
.../vmPushDupSwapTest/push1_missingStack.json | 51 ++++
.../resources/VMTests/vmPushDupSwapTest/push2.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push20.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push21.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push22.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push23.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push24.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push25.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push26.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push27.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push28.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push29.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/push3.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push30.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push31.json | 52 ++++
.../VMTests/vmPushDupSwapTest/push32.json | 52 ++++
.../vmPushDupSwapTest/push32AndSuicide.json | 51 ++++
.../push32FillUpInputWithZerosAtTheEnd.json | 51 ++++
.../VMTests/vmPushDupSwapTest/push32Undefined.json | 51 ++++
.../vmPushDupSwapTest/push32Undefined2.json | 52 ++++
.../vmPushDupSwapTest/push32Undefined3.json | 51 ++++
.../VMTests/vmPushDupSwapTest/push33.json | 51 ++++
.../resources/VMTests/vmPushDupSwapTest/push4.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/push5.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/push6.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/push7.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/push8.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/push9.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/swap1.json | 52 ++++
.../VMTests/vmPushDupSwapTest/swap10.json | 52 ++++
.../VMTests/vmPushDupSwapTest/swap11.json | 52 ++++
.../VMTests/vmPushDupSwapTest/swap12.json | 52 ++++
.../VMTests/vmPushDupSwapTest/swap13.json | 52 ++++
.../VMTests/vmPushDupSwapTest/swap14.json | 52 ++++
.../VMTests/vmPushDupSwapTest/swap15.json | 52 ++++
.../VMTests/vmPushDupSwapTest/swap16.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/swap2.json | 52 ++++
.../VMTests/vmPushDupSwapTest/swap2error.json | 37 +++
.../resources/VMTests/vmPushDupSwapTest/swap3.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/swap4.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/swap5.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/swap6.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/swap7.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/swap8.json | 52 ++++
.../resources/VMTests/vmPushDupSwapTest/swap9.json | 52 ++++
.../VMTests/vmPushDupSwapTest/swapjump1.json | 51 ++++
.../VMTests/vmRandomTest/201503102320PYTHON.json | 37 +++
.../VMTests/vmRandomTest/201503110206PYTHON.json | 37 +++
.../VMTests/vmRandomTest/201503110219PYTHON.json | 37 +++
.../vmRandomTest/201503110346PYTHON_PUSH24.json | 51 ++++
.../VMTests/vmRandomTest/201503111844PYTHON.json | 51 ++++
.../VMTests/vmRandomTest/201503112218PYTHON.json | 37 +++
.../test/resources/VMTests/vmSha3Test/sha3_0.json | 52 ++++
.../test/resources/VMTests/vmSha3Test/sha3_1.json | 52 ++++
.../test/resources/VMTests/vmSha3Test/sha3_2.json | 52 ++++
.../test/resources/VMTests/vmSha3Test/sha3_3.json | 37 +++
.../test/resources/VMTests/vmSha3Test/sha3_4.json | 37 +++
.../test/resources/VMTests/vmSha3Test/sha3_5.json | 37 +++
.../test/resources/VMTests/vmSha3Test/sha3_6.json | 37 +++
.../VMTests/vmSha3Test/sha3_bigOffset.json | 37 +++
.../VMTests/vmSha3Test/sha3_bigOffset2.json | 52 ++++
.../resources/VMTests/vmSha3Test/sha3_bigSize.json | 37 +++
.../vmSha3Test/sha3_memSizeNoQuadraticCost31.json | 52 ++++
.../vmSha3Test/sha3_memSizeQuadraticCost32.json | 52 ++++
.../sha3_memSizeQuadraticCost32_zeroSize.json | 52 ++++
.../vmSha3Test/sha3_memSizeQuadraticCost33.json | 52 ++++
.../vmSha3Test/sha3_memSizeQuadraticCost63.json | 52 ++++
.../vmSha3Test/sha3_memSizeQuadraticCost64.json | 52 ++++
.../vmSha3Test/sha3_memSizeQuadraticCost64_2.json | 52 ++++
.../vmSha3Test/sha3_memSizeQuadraticCost65.json | 52 ++++
.../vmSystemOperations/TestNameRegistrator.json | 52 ++++
.../VMTests/vmSystemOperations/return0.json | 52 ++++
.../VMTests/vmSystemOperations/return1.json | 52 ++++
.../VMTests/vmSystemOperations/return2.json | 52 ++++
.../VMTests/vmSystemOperations/suicide0.json | 58 ++++
.../suicideNotExistingAccount.json | 65 +++++
.../vmSystemOperations/suicideSendEtherToMe.json | 58 ++++
.../test/resources/VMTests/vmTests/suicide.json | 51 ++++
gradle/check-licenses.gradle | 1 +
622 files changed, 30871 insertions(+), 46 deletions(-)
diff --git a/build.gradle b/build.gradle
index 8fe2f72..f511bf7 100644
--- a/build.gradle
+++ b/build.gradle
@@ -119,7 +119,8 @@ if (file('.git').exists()) {
'eth/src/test/resources/missing-difficulty.json',
'eth/src/test/resources/missing-nonce.json',
'eth/src/test/resources/valid-genesis.json',
- 'eth-client-app/src/main/resources/tuweni.txt'
+ 'eth-client-app/src/main/resources/tuweni.txt',
+ 'evm/src/test/resources/VMTests/**'
])
return list
}
diff --git a/dependency-versions.gradle b/dependency-versions.gradle
index 99d3022..b7c9923 100644
--- a/dependency-versions.gradle
+++ b/dependency-versions.gradle
@@ -48,7 +48,7 @@ dependencyManagement {
entry 'jetty-servlet'
entry 'jetty-util'
}
- dependency('org.ethereum:evmc:7.4.0')
+ dependency('org.ethereum:evmc:7.4.0.3')
dependencySet(group: 'org.glassfish.jersey.core', version: '2.31') {
entry 'jersey-server'
entry 'jersey-client'
diff --git a/eth-repository/src/main/kotlin/org/apache/tuweni/eth/repository/BlockchainRepository.kt b/eth-repository/src/main/kotlin/org/apache/tuweni/eth/repository/BlockchainRepository.kt
index 60b0494..9a40ffb 100644
--- a/eth-repository/src/main/kotlin/org/apache/tuweni/eth/repository/BlockchainRepository.kt
+++ b/eth-repository/src/main/kotlin/org/apache/tuweni/eth/repository/BlockchainRepository.kt
@@ -425,4 +425,13 @@ class BlockchainRepository
transactionStore.close()
transactionReceiptStore.close()
}
+
+ /**
+ * Stores account code in world state
+ *
+ * @param code the code to store
+ */
+ suspend fun storeCode(code: Bytes) {
+ stateStore.put(Hash.hash(code), code)
+ }
}
diff --git a/eth/src/main/java/org/apache/tuweni/eth/EthJsonModule.java b/eth/src/main/java/org/apache/tuweni/eth/EthJsonModule.java
index 6b0cf39..9632e00 100644
--- a/eth/src/main/java/org/apache/tuweni/eth/EthJsonModule.java
+++ b/eth/src/main/java/org/apache/tuweni/eth/EthJsonModule.java
@@ -15,12 +15,17 @@ package org.apache.tuweni.eth;
import org.apache.tuweni.bytes.Bytes;
import org.apache.tuweni.units.bigints.UInt256;
import org.apache.tuweni.units.ethereum.Gas;
+import org.apache.tuweni.units.ethereum.Wei;
import java.io.IOException;
import java.time.Instant;
import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.KeyDeserializer;
import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
@@ -98,6 +103,82 @@ public class EthJsonModule extends SimpleModule {
}
}
+ static class AddressDeserializer extends StdDeserializer<Address> {
+
+ AddressDeserializer() {
+ super(Address.class);
+ }
+
+ @Override
+ public Address deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
+ return Address.fromHexString(p.getValueAsString());
+ }
+ }
+
+ static class GasDeserializer extends StdDeserializer<Gas> {
+
+ GasDeserializer() {
+ super(Gas.class);
+ }
+
+ @Override
+ public Gas deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
+ return Gas.valueOf(UInt256.fromHexString(p.getValueAsString()));
+ }
+ }
+
+ static class WeiDeserializer extends StdDeserializer<Wei> {
+
+ WeiDeserializer() {
+ super(Wei.class);
+ }
+
+ @Override
+ public Wei deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
+ return Wei.valueOf(UInt256.fromHexString(p.getValueAsString()));
+ }
+ }
+
+ static class BytesDeserializer extends StdDeserializer<Bytes> {
+
+ BytesDeserializer() {
+ super(Bytes.class);
+ }
+
+ @Override
+ public Bytes deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
+ return Bytes.fromHexString(p.getValueAsString());
+ }
+ }
+
+ static class UInt256Deserializer extends StdDeserializer<UInt256> {
+
+ UInt256Deserializer() {
+ super(UInt256.class);
+ }
+
+ @Override
+ public UInt256 deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
+ return UInt256.fromHexString(p.getValueAsString());
+ }
+ }
+
+ static class AddressKeyDeserializer extends KeyDeserializer {
+
+ @Override
+ public Address deserializeKey(String key, DeserializationContext ctxt) throws IOException {
+ return Address.fromHexString(key);
+ }
+ }
+
+ static class BytesKeyDeserializer extends KeyDeserializer {
+
+ @Override
+ public Bytes deserializeKey(String key, DeserializationContext ctxt) throws IOException {
+ return Bytes.fromHexString(key);
+ }
+ }
+
public EthJsonModule() {
addSerializer(Hash.class, new HashSerializer());
addSerializer(Address.class, new AddressSerializer());
@@ -105,5 +186,12 @@ public class EthJsonModule extends SimpleModule {
addSerializer(Gas.class, new GasSerializer());
addSerializer(UInt256.class, new UInt256Serializer());
addSerializer(Instant.class, new InstantSerializer());
+ addKeyDeserializer(Bytes.class, new BytesKeyDeserializer());
+ addKeyDeserializer(Address.class, new AddressKeyDeserializer());
+ addDeserializer(Address.class, new AddressDeserializer());
+ addDeserializer(Gas.class, new GasDeserializer());
+ addDeserializer(Wei.class, new WeiDeserializer());
+ addDeserializer(UInt256.class, new UInt256Deserializer());
+ addDeserializer(Bytes.class, new BytesDeserializer());
}
}
diff --git a/eth/src/main/java/org/apache/tuweni/eth/Log.java b/eth/src/main/java/org/apache/tuweni/eth/Log.java
index 7eedad0..5f4ca68 100644
--- a/eth/src/main/java/org/apache/tuweni/eth/Log.java
+++ b/eth/src/main/java/org/apache/tuweni/eth/Log.java
@@ -14,6 +14,7 @@ package org.apache.tuweni.eth;
import org.apache.tuweni.bytes.Bytes;
import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.rlp.RLP;
import org.apache.tuweni.rlp.RLPReader;
import org.apache.tuweni.rlp.RLPWriter;
@@ -74,6 +75,15 @@ public final class Log {
}
/**
+ * Encodes log to RLP.
+ *
+ * @return the log as RLP encoded
+ */
+ public Bytes toBytes() {
+ return RLP.encode(this::writeTo);
+ }
+
+ /**
*
* @return the address of the contract that produced this log.
*/
diff --git a/evm/build.gradle b/evm/build.gradle
index c065d8f..05ea833 100644
--- a/evm/build.gradle
+++ b/evm/build.gradle
@@ -19,18 +19,23 @@ dependencies {
implementation project(':concurrent-coroutines')
implementation project(':eth')
implementation project(':eth-repository')
+ implementation project(':merkle-trie')
implementation project(':units')
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core'
implementation 'org.apache.lucene:lucene-core'
implementation 'org.jetbrains.kotlin:kotlin-stdlib'
implementation 'org.slf4j:slf4j-api'
implementation 'org.ethereum:evmc'
+ implementation 'io.vertx:vertx-core'
+ testImplementation project(':io')
+ testImplementation project(':merkle-trie')
testImplementation project(':junit')
testImplementation project(':kv')
testImplementation 'org.bouncycastle:bcprov-jdk15on'
testImplementation 'org.junit.jupiter:junit-jupiter-api'
testImplementation 'org.junit.jupiter:junit-jupiter-params'
+ testImplementation 'com.fasterxml.jackson.core:jackson-databind'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
testRuntimeOnly 'ch.qos.logback:logback-classic'
diff --git a/evm/src/main/kotlin/org/apache/tuweni/evm/EthereumVirtualMachine.kt b/evm/src/main/kotlin/org/apache/tuweni/evm/EthereumVirtualMachine.kt
index 0c4104a..938f7b6 100644
--- a/evm/src/main/kotlin/org/apache/tuweni/evm/EthereumVirtualMachine.kt
+++ b/evm/src/main/kotlin/org/apache/tuweni/evm/EthereumVirtualMachine.kt
@@ -20,8 +20,11 @@ import org.apache.tuweni.bytes.Bytes
import org.apache.tuweni.bytes.Bytes32
import org.apache.tuweni.eth.Address
import org.apache.tuweni.eth.repository.BlockchainRepository
+import org.apache.tuweni.units.bigints.UInt256
import org.apache.tuweni.units.ethereum.Gas
+import org.apache.tuweni.units.ethereum.Wei
import org.ethereum.evmc.EvmcVm
+import org.ethereum.evmc.HostContext
import org.slf4j.LoggerFactory
import java.nio.ByteBuffer
import java.nio.ByteOrder
@@ -104,6 +107,9 @@ data class EVMResult(
return EVMResult(fromCode(bytes.getInt(0)), bytes.getLong(8), hostContext)
}
}
+
+ fun toBytes() =
+ Bytes32.rightPad(Bytes.concatenate(Bytes.ofUnsignedInt(statusCode.number.toLong()), Bytes.ofUnsignedLong(gasLeft)))
}
/**
@@ -116,7 +122,8 @@ internal data class EVMMessage(
val gas: Gas,
val destination: Address,
val sender: Address,
- val inputData: Bytes,
+ val inputData: Long,
+ val inputDataSize: Int,
val value: Bytes,
val createSalt: Bytes32 = Bytes32.ZERO
) {
@@ -127,31 +134,34 @@ internal data class EVMMessage(
message.getInt(0),
message.getInt(4),
message.getInt(8),
- Gas.valueOf(message.getLong(12)),
- Address.fromBytes(message.slice(20, 20)),
- Address.fromBytes(message.slice(40, 20)),
- message.slice(60, 8),
+ Gas.valueOf(message.getLong(16)),
+ Address.fromBytes(message.slice(24, 20)),
+ Address.fromBytes(message.slice(44, 20)),
+ message.getLong(64),
+ message.getInt(72),
message.slice(76, 32),
- message.slice(108, 32) as Bytes32
+ Bytes32.wrap(message.slice(108, 32))
)
}
}
fun toByteBuffer(): ByteBuffer {
- return ByteBuffer.allocateDirect(4 + 4 + 4 + 4 + 8 + 20 + 20 + inputData.size() +
- 8 + value.size() + createSalt.size())
- .order(ByteOrder.nativeOrder())
+
+ return ByteBuffer.allocateDirect(
+ 4 + 4 + 4 + 4 + 8 + 20 + 20 + 8 +
+ 4 + 32 + 32
+ ).order(ByteOrder.nativeOrder())
.putInt(kind)
.putInt(flags)
.putInt(depth)
- .put(ByteArray(4))
+ .putInt(0) // padding?
.putLong(gas.toLong())
- .put(destination.toArray())
- .put(sender.toArray())
- .put(inputData.toArray())
- .putLong(inputData.size().toLong())
- .put(value.toArray())
- .put(createSalt.toArray())
+ .put(destination.toArrayUnsafe())
+ .put(sender.toArrayUnsafe())
+ .putLong(inputData)
+ .putInt(inputDataSize)
+ .put(Bytes32.leftPad(value).toArrayUnsafe())
+ .put(createSalt.toArrayUnsafe())
}
}
@@ -209,6 +219,12 @@ class EthereumVirtualMachine(
* @param code the code to execute
* @param inputData the execution input
* @param gas the gas available for the operation
+ * @param gasPrice current gas price
+ * @param currentCoinbase the coinbase address to reward
+ * @param currentNumber current block number
+ * @param currentTimestamp current block timestamp
+ * @param currentGasLimit current gas limit
+ * @param currentDifficulty block current total difficulty
* @param callKind the type of call
* @param revision the hard fork revision in which to execute
* @return the result of the execution
@@ -220,11 +236,69 @@ class EthereumVirtualMachine(
code: Bytes,
inputData: Bytes,
gas: Gas,
+ gasPrice: Wei,
+ currentCoinbase: Address,
+ currentNumber: Long,
+ currentTimestamp: Long,
+ currentGasLimit: Long,
+ currentDifficulty: UInt256,
callKind: CallKind = CallKind.EVMC_CALL,
- revision: HardFork = HardFork.EVMC_MAX_REVISION
+ revision: HardFork = HardFork.EVMC_MAX_REVISION,
+ depth: Int = 0
): EVMResult {
- val hostContext = TransactionalEVMHostContext(repository)
- val msg = EVMMessage(callKind.number, 0, 0, gas, destination, sender, inputData, value).toByteBuffer()
+ val hostContext = TransactionalEVMHostContext(
+ repository,
+ this,
+ depth,
+ sender,
+ destination,
+ value,
+ code,
+ gas,
+ gasPrice,
+ currentCoinbase,
+ currentNumber,
+ currentTimestamp,
+ currentGasLimit,
+ currentDifficulty
+ )
+ val inputDataBuffer = ByteBuffer.allocateDirect(inputData.size()).put(inputData.toArrayUnsafe())
+ val result =
+ executeInternal(
+ sender,
+ destination,
+ value,
+ code,
+ vm().address(inputDataBuffer),
+ inputData.size(),
+ gas,
+ callKind,
+ revision,
+ depth,
+ hostContext
+ )
+
+ return EVMResult.fromBytes(Bytes.wrapByteBuffer(result), hostContext)
+ }
+
+ internal fun executeInternal(
+ sender: Address,
+ destination: Address,
+ value: Bytes,
+ code: Bytes,
+ inputData: Long,
+ inputDataSize: Int,
+ gas: Gas,
+ callKind: CallKind = CallKind.EVMC_CALL,
+ revision: HardFork = HardFork.EVMC_MAX_REVISION,
+ depth: Int = 0,
+ hostContext: HostContext
+ ): ByteBuffer {
+ val msg =
+ EVMMessage(
+ callKind.number, 0, depth, gas, destination, sender, inputData,
+ inputDataSize, value
+ ).toByteBuffer()
val result = vm().execute(
hostContext,
@@ -233,7 +307,7 @@ class EthereumVirtualMachine(
ByteBuffer.allocateDirect(code.size()).put(code.toArrayUnsafe()),
code.size()
).order(ByteOrder.nativeOrder())
- return EVMResult.fromBytes(Bytes.wrapByteBuffer(result), hostContext)
+ return result
}
/**
diff --git a/evm/src/main/kotlin/org/apache/tuweni/evm/TransactionalEVMHostContext.kt b/evm/src/main/kotlin/org/apache/tuweni/evm/TransactionalEVMHostContext.kt
index 5063ad2..10716d1 100644
--- a/evm/src/main/kotlin/org/apache/tuweni/evm/TransactionalEVMHostContext.kt
+++ b/evm/src/main/kotlin/org/apache/tuweni/evm/TransactionalEVMHostContext.kt
@@ -19,23 +19,48 @@ package org.apache.tuweni.evm
import kotlinx.coroutines.runBlocking
import org.apache.tuweni.bytes.Bytes
import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.eth.AccountState
import org.apache.tuweni.eth.Address
+import org.apache.tuweni.eth.Hash
+import org.apache.tuweni.eth.Log
import org.apache.tuweni.eth.repository.BlockchainRepository
+import org.apache.tuweni.trie.MerklePatriciaTrie
import org.apache.tuweni.units.bigints.UInt256
+import org.apache.tuweni.units.ethereum.Gas
+import org.apache.tuweni.units.ethereum.Wei
import org.ethereum.evmc.HostContext
import org.slf4j.LoggerFactory
import java.nio.ByteBuffer
+import java.nio.ByteOrder
/**
* EVM context that records changes to the world state, so they can be applied atomically.
*/
-class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostContext {
+class TransactionalEVMHostContext(
+ val repository: BlockchainRepository,
+ val ethereumVirtualMachine: EthereumVirtualMachine,
+ val depth: Int,
+ val sender: Address,
+ val destination: Address,
+ val value: Bytes,
+ val code: Bytes,
+ val gas: Gas,
+ val gasPrice: Wei,
+ val currentCoinbase: Address,
+ val currentNumber: Long,
+ val currentTimestamp: Long,
+ val currentGasLimit: Long,
+ val currentDifficulty: UInt256
+) : HostContext {
companion object {
private val logger = LoggerFactory.getLogger(TransactionalEVMHostContext::class.java)
}
- private val accountChanges = HashMap<Address, HashMap<Bytes, Bytes>>()
+ val accountChanges = HashMap<Address, HashMap<Bytes, Bytes>>()
+ val logs = mutableListOf<Log>()
+ val accountsToDestroy = mutableListOf<Address>()
+ val balanceChanges = HashMap<Address, Wei>()
/**
* Check account existence function.
*
@@ -66,10 +91,10 @@ class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostCo
logger.trace("Entering getStorage")
val address = Address.fromBytes(Bytes.wrap(addressBytes))
val key = Bytes32.wrap(keyBytes)
- val value = accountChanges[address]?.get(key) ?: repository.getAccountStoreValue(address, key)
+ val value = accountChanges[address]?.get(key)
logger.info("Found value $value")
return@runBlocking if (value == null) {
- ByteBuffer.allocateDirect(64).put(ByteArray(64))
+ ByteBuffer.allocateDirect(32).put(ByteArray(32))
} else {
ByteBuffer.allocateDirect(value.size()).put(value.toArrayUnsafe())
}
@@ -107,7 +132,8 @@ class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostCo
var newAccount = false
accountChanges.computeIfAbsent(address) {
newAccount = true
- HashMap() }
+ HashMap()
+ }
val map = accountChanges[address]!!
val oldValue = map.get(key)
val storageAdded = newAccount || oldValue == null
@@ -139,10 +165,21 @@ class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostCo
* @param address The address of the account.
* @return The balance of the given account or 0 if the account does not exist.
*/
- override fun getBalance(address: ByteArray): ByteBuffer = runBlocking {
+ override fun getBalance(addressBytes: ByteArray): ByteBuffer = runBlocking {
logger.trace("Entering getBalance")
- val account = repository.getAccount(Address.fromBytes(Bytes.wrap(address)))
- account?.let { ByteBuffer.wrap(it.balance.toBytes().toArrayUnsafe()) } ?: ByteBuffer.wrap(ByteArray(0))
+ val response = ByteBuffer.allocateDirect(32)
+
+ val address = Address.fromBytes(Bytes.wrap(addressBytes))
+ val balance = balanceChanges[address]
+ balance?.let {
+ return@runBlocking response.put(it.toBytes().toArrayUnsafe())
+ }
+ val account = repository.getAccount(address)
+ account?.let {
+ response.put(account.balance.toBytes().toArrayUnsafe())
+ }
+
+ response
}
/**
@@ -175,7 +212,10 @@ class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostCo
override fun getCodeHash(address: ByteArray): ByteBuffer = runBlocking {
logger.trace("Entering getCodeHash")
val account = repository.getAccount(Address.fromBytes(Bytes.wrap(address)))
- account?.let { ByteBuffer.wrap(it.codeHash.toArrayUnsafe()) } ?: ByteBuffer.wrap(ByteArray(0))
+ val response = ByteBuffer.allocateDirect(32).order(ByteOrder.nativeOrder())
+
+ account?.let { response.put(it.codeHash.toArrayUnsafe()) }
+ response
}
/**
@@ -193,7 +233,10 @@ class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostCo
override fun getCode(address: ByteArray): ByteBuffer = runBlocking {
logger.trace("Entering getCode")
val code = repository.getAccountCode(Address.fromBytes(Bytes.wrap(address)))
- code?.let { ByteBuffer.wrap(it.toArrayUnsafe()) } ?: ByteBuffer.wrap(ByteArray(0))
+ code?.let {
+ val response = ByteBuffer.allocateDirect(code.size()).order(ByteOrder.nativeOrder())
+ response.put(it.toArrayUnsafe())
+ } ?: ByteBuffer.allocateDirect(0)
}
/**
@@ -206,9 +249,25 @@ class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostCo
* @param address The address of the contract to be selfdestructed.
* @param beneficiary The address where the remaining ETH is going to be transferred.
*/
- override fun selfdestruct(address: ByteArray, beneficiary: ByteArray) {
+ override fun selfdestruct(address: ByteArray, beneficiary: ByteArray): Unit = runBlocking {
logger.trace("Entering selfdestruct")
- TODO("Not implemented")
+ val addr = Address.fromBytes(Bytes.wrap(address))
+ accountsToDestroy.add(addr)
+ val account = repository.getAccount(addr)
+ val beneficiaryAddress = Address.fromBytes(Bytes.wrap(beneficiary))
+ val beneficiaryAccountState = repository.getAccount(beneficiaryAddress)
+ if (beneficiaryAccountState === null) {
+ repository.storeAccount(beneficiaryAddress, AccountState(UInt256.ZERO, Wei.valueOf(0), Hash.fromBytes(
+ MerklePatriciaTrie.storingBytes().rootHash()), Hash.hash(Bytes.EMPTY)))
+ }
+ account?.apply {
+ val balance = balanceChanges.putIfAbsent(beneficiaryAddress, account.balance)
+ balance?.let {
+ balanceChanges[beneficiaryAddress] = it.add(account.balance)
+ }
+ }
+ logger.trace("Done selfdestruct")
+ return@runBlocking
}
/**
@@ -219,7 +278,19 @@ class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostCo
*/
override fun call(msg: ByteBuffer): ByteBuffer {
logger.trace("Entering call")
- return ByteBuffer.allocateDirect(64)
+ val evmMessage = EVMMessage.fromBytes(Bytes.wrapByteBuffer(msg))
+ val result = ethereumVirtualMachine.executeInternal(
+ evmMessage.sender,
+ evmMessage.destination,
+ evmMessage.value,
+ Bytes.EMPTY,
+ evmMessage.inputData,
+ evmMessage.inputDataSize,
+ evmMessage.gas,
+ depth = depth + 1,
+ hostContext = this
+ )
+ return result
}
/**
@@ -232,7 +303,13 @@ class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostCo
*/
override fun getTxContext(): ByteBuffer {
logger.trace("Entering getTxContext")
- return ByteBuffer.allocateDirect(64)
+ return ByteBuffer.allocateDirect(160).put(Bytes.concatenate(gasPrice.toBytes(),
+ sender, currentCoinbase, Bytes.ofUnsignedLong(currentNumber),
+ Bytes.ofUnsignedLong(currentTimestamp),
+ Bytes.ofUnsignedLong(currentGasLimit),
+ currentDifficulty.toBytes(),
+ UInt256.ONE.toBytes()
+ ).toArrayUnsafe())
}
/**
@@ -267,6 +344,6 @@ class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostCo
*/
override fun emitLog(address: ByteArray, data: ByteArray, dataSize: Int, topics: Array<ByteArray>, topicCount: Int) {
logger.trace("Entering emitLog")
- TODO()
+ logs.add(Log(Address.fromBytes(Bytes.wrap(address)), Bytes.wrap(data), topics.map { Bytes32.wrap(it) }))
}
}
diff --git a/evm/src/main/resources/libevmc.dylib b/evm/src/main/resources/libevmc.dylib
index f06503f..70b8eda 100755
Binary files a/evm/src/main/resources/libevmc.dylib and b/evm/src/main/resources/libevmc.dylib differ
diff --git a/evm/src/main/resources/libevmc.so b/evm/src/main/resources/libevmc.so
index fd9fa2d..2e47a0f 100644
Binary files a/evm/src/main/resources/libevmc.so and b/evm/src/main/resources/libevmc.so differ
diff --git a/evm/src/test/kotlin/org/apache/tuweni/evm/EVMReferenceTest.kt b/evm/src/test/kotlin/org/apache/tuweni/evm/EVMReferenceTest.kt
new file mode 100644
index 0000000..4822264
--- /dev/null
+++ b/evm/src/test/kotlin/org/apache/tuweni/evm/EVMReferenceTest.kt
@@ -0,0 +1,302 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tuweni.evm
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties
+import com.fasterxml.jackson.core.type.TypeReference
+import com.fasterxml.jackson.databind.ObjectMapper
+import kotlinx.coroutines.runBlocking
+import org.apache.lucene.index.IndexWriter
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.eth.AccountState
+import org.apache.tuweni.eth.Address
+import org.apache.tuweni.eth.EthJsonModule
+import org.apache.tuweni.eth.Hash
+import org.apache.tuweni.eth.repository.BlockchainIndex
+import org.apache.tuweni.eth.repository.BlockchainRepository
+import org.apache.tuweni.io.Resources
+import org.apache.tuweni.junit.BouncyCastleExtension
+import org.apache.tuweni.junit.LuceneIndexWriter
+import org.apache.tuweni.junit.LuceneIndexWriterExtension
+import org.apache.tuweni.kv.MapKeyValueStore
+import org.apache.tuweni.trie.MerklePatriciaTrie
+import org.apache.tuweni.units.bigints.UInt256
+import org.apache.tuweni.units.ethereum.Gas
+import org.apache.tuweni.units.ethereum.Wei
+import org.junit.jupiter.api.Assertions.assertEquals
+import org.junit.jupiter.api.Assertions.assertNotEquals
+import org.junit.jupiter.api.Assertions.assertNotNull
+import org.junit.jupiter.api.Assertions.assertTrue
+import org.junit.jupiter.api.Assumptions.assumeFalse
+import org.junit.jupiter.api.BeforeAll
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.DisplayName
+import org.junit.jupiter.api.extension.ExtendWith
+import org.junit.jupiter.params.ParameterizedTest
+import org.junit.jupiter.params.provider.Arguments
+import org.junit.jupiter.params.provider.MethodSource
+import java.io.IOException
+import java.io.InputStream
+import java.io.UncheckedIOException
+import java.util.stream.Stream
+
+@ExtendWith(LuceneIndexWriterExtension::class, BouncyCastleExtension::class)
+class EVMReferenceTest {
+
+ companion object {
+
+ val mapper = ObjectMapper()
+
+ init {
+ mapper.registerModule(EthJsonModule())
+ }
+
+ @JvmStatic
+ @BeforeAll
+ fun checkOS() {
+ val osName = System.getProperty("os.name").toLowerCase()
+ val isWindows = osName.startsWith("windows")
+ assumeFalse(isWindows, "No Windows binaries available")
+ }
+
+ @JvmStatic
+ @Throws(IOException::class)
+ private fun findTests(): Stream<Arguments> {
+ return findTests("**/*.json")
+ }
+
+ @Throws(IOException::class)
+ private fun findTests(glob: String): Stream<Arguments> {
+ return Resources.find(glob).flatMap { url ->
+ try {
+ url.openConnection().getInputStream().use { input -> prepareTests(input) }
+ } catch (e: IOException) {
+ throw UncheckedIOException(e)
+ }
+ }
+ }
+
+ @Throws(IOException::class)
+ private fun prepareTests(input: InputStream): Stream<Arguments> {
+
+ val typeRef = object : TypeReference<HashMap<String, JsonReferenceTest>>() {}
+ val allTests: Map<String, JsonReferenceTest> = mapper.readValue(input, typeRef)
+ return allTests
+ .entries
+ .stream()
+ .map { entry ->
+ Arguments.of(entry.key, entry.value)
+ }
+ }
+ }
+
+ private val evmcFile: String
+ private val evmOneVm: String
+
+ init {
+ val osName = System.getProperty("os.name").toLowerCase()
+ val isMacOs = osName.startsWith("mac os x")
+
+ if (isMacOs) {
+ evmcFile = EthereumVirtualMachine::class.java.getResource("/libevmc.dylib").file
+ evmOneVm = EthereumVirtualMachine::class.java.getResource("/libevmone.0.5.0.dylib").file
+ } else {
+ evmcFile = EthereumVirtualMachine::class.java.getResource("/libevmc.so").file
+ evmOneVm = EthereumVirtualMachine::class.java.getResource("/libevmone.so.0.5.0").file
+ }
+ }
+
+ private var writer: IndexWriter? = null
+
+ @BeforeEach
+ fun setUp(@LuceneIndexWriter newWriter: IndexWriter) {
+ writer = newWriter
+ }
+
+ @ParameterizedTest(name = "{index}: {0}")
+ @DisplayName("{0}")
+ @MethodSource("findTests")
+ fun runReferenceTest(testName: String, test: JsonReferenceTest) {
+ assertNotNull(testName)
+ println(testName)
+
+ val repository = BlockchainRepository(
+ MapKeyValueStore(),
+ MapKeyValueStore(),
+ MapKeyValueStore(),
+ MapKeyValueStore(),
+ MapKeyValueStore(),
+ MapKeyValueStore(),
+ BlockchainIndex(writer!!)
+ )
+ test.pre!!.forEach { address, state ->
+ runBlocking {
+ val tree = MerklePatriciaTrie.storingBytes()
+ state.storage!!.forEach { key, value ->
+ runBlocking {
+ tree.put(key, value)
+ }
+ }
+ val accountState =
+ AccountState(state.nonce!!, state.balance!!, Hash.fromBytes(tree.rootHash()), Hash.hash(state.code!!))
+ repository.storeAccount(address, accountState)
+ repository.storeCode(state.code!!)
+ }
+ }
+ val vm = EthereumVirtualMachine(repository, evmcFile, evmOneVm)
+ vm.start()
+ try {
+ val result = vm.execute(
+ test.exec?.origin!!,
+ test.exec?.address!!,
+ test.exec?.value!!,
+ test.exec?.code!!,
+ test.exec?.data!!,
+ test.exec?.gas!!,
+ test.exec?.gasPrice!!,
+ test.env?.currentCoinbase!!,
+ test.env?.currentNumber!!.toLong(),
+ test.env?.currentTimestamp!!.toLong(),
+ test.env?.currentGasLimit!!.toLong(),
+ test.env?.currentDifficulty!!
+ )
+ if (test.post == null) {
+ assertNotEquals(EVMExecutionStatusCode.EVMC_SUCCESS, result.statusCode)
+ if (testName.contains("JumpDest", true) ||
+ testName.contains("OutsideBoundary", true) ||
+ testName.contains("outOfBoundary", true) ||
+ testName.startsWith("DynamicJump_valueUnderflow") ||
+ testName.startsWith("jumpiToUintmaxPlus1") ||
+ testName.startsWith("jumpToUintmaxPlus1") ||
+ testName.startsWith("DynamicJumpi0") ||
+ testName.startsWith("DynamicJumpJD_DependsOnJumps0") ||
+ testName.startsWith("jumpHigh") ||
+ testName.startsWith("bad_indirect_jump2") ||
+ testName.startsWith("DynamicJumpPathologicalTest1") ||
+ testName.startsWith("jumpToUint64maxPlus1") ||
+ testName.startsWith("jumpiToUint64maxPlus1") ||
+ testName.startsWith("jumpi0") ||
+ testName.startsWith("DynamicJumpPathologicalTest3") ||
+ testName.startsWith("DynamicJumpPathologicalTest2") ||
+ testName.startsWith("jump1") ||
+ testName.startsWith("bad_indirect_jump1") ||
+ testName.startsWith("BlockNumberDynamicJumpi0") ||
+ testName.startsWith("gasOverFlow") ||
+ testName.startsWith("DynamicJump1") ||
+ testName.startsWith("BlockNumberDynamicJump1") ||
+ testName.startsWith("JDfromStorageDynamicJump1") ||
+ testName.startsWith("JDfromStorageDynamicJumpi0")
+ ) {
+ assertEquals(EVMExecutionStatusCode.EVMC_BAD_JUMP_DESTINATION, result.statusCode)
+ } else if (testName.contains("underflow", true) ||
+ testName.startsWith("swap2error") ||
+ testName.startsWith("dup2error") ||
+ testName.startsWith("pop1") ||
+ testName.startsWith("jumpOntoJump") ||
+ testName.startsWith("swapAt52becameMstore") ||
+ testName.startsWith("stack_loop") ||
+ testName.startsWith("201503110206PYTHON") ||
+ testName.startsWith("201503112218PYTHON") ||
+ testName.startsWith("201503110219PYTHON") ||
+ testName.startsWith("201503102320PYTHON")
+ ) {
+ assertEquals(EVMExecutionStatusCode.EVMC_STACK_UNDERFLOW, result.statusCode)
+ } else if (testName.contains("outofgas", true) ||
+ testName.contains("TooHigh", true) ||
+ testName.contains("MemExp", true) ||
+ testName.contains("return1", true) ||
+ testName.startsWith("sha3_bigOffset") ||
+ testName.startsWith("sha3_3") ||
+ testName.startsWith("sha3_4") ||
+ testName.startsWith("sha3_5") ||
+ testName.startsWith("sha3_6") ||
+ testName.startsWith("sha3_bigSize") ||
+ testName.startsWith("ackermann33")
+ ) {
+ assertEquals(EVMExecutionStatusCode.EVMC_OUT_OF_GAS, result.statusCode)
+ } else if (testName.contains("stacklimit", true)) {
+ assertEquals(EVMExecutionStatusCode.EVMC_STACK_OVERFLOW, result.statusCode)
+ } else {
+ println(result.statusCode)
+ TODO()
+ }
+ } else {
+ test.post!!.forEach { address, state ->
+ runBlocking {
+ assertTrue(repository.accountsExists(address) || result.hostContext.accountChanges.containsKey(address))
+ val accountState = repository.getAccount(address)
+ val balance = accountState?.balance?.add(
+ result.hostContext.balanceChanges.get(address) ?: Wei.valueOf(0)
+ ) ?: Wei.valueOf(0)
+ assertEquals(state.balance, balance)
+ assertEquals(state.nonce, accountState!!.nonce)
+ }
+ }
+ test.logs?.let {
+ val logsTree = MerklePatriciaTrie.storingBytes()
+ result.hostContext.logs.forEach {
+ runBlocking {
+ logsTree.put(Hash.hash(it.toBytes()), it.toBytes())
+ }
+ }
+ }
+ }
+ } finally {
+ vm.stop()
+ }
+ }
+}
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+data class Env(
+ var currentCoinbase: Address? = null,
+ var currentDifficulty: UInt256? = null,
+ var currentGasLimit: UInt256? = null,
+ var currentNumber: UInt256? = null,
+ var currentTimestamp: UInt256? = null
+)
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+data class Exec(
+ var address: Address? = null,
+ var caller: Address? = null,
+ var code: Bytes? = null,
+ var data: Bytes? = null,
+ var gas: Gas? = null,
+ var gasPrice: Wei? = null,
+ var origin: Address? = null,
+ var value: Bytes? = null
+)
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+data class JsonAccountState(
+ var balance: Wei? = null,
+ var code: Bytes? = null,
+ var nonce: UInt256? = null,
+ var storage: Map<Bytes, Bytes>? = null
+)
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+data class JsonReferenceTest(
+ var env: Env? = null,
+ var exec: Exec? = null,
+ var gas: Gas? = null,
+ var logs: Bytes? = null,
+ var out: Bytes? = null,
+ var post: Map<Address, JsonAccountState>? = null,
+ var pre: Map<Address, JsonAccountState>? = null
+)
diff --git a/evm/src/test/kotlin/org/apache/tuweni/evm/EthereumVirtualMachineTest.kt b/evm/src/test/kotlin/org/apache/tuweni/evm/EthereumVirtualMachineTest.kt
index 507d424..5859d9e 100644
--- a/evm/src/test/kotlin/org/apache/tuweni/evm/EthereumVirtualMachineTest.kt
+++ b/evm/src/test/kotlin/org/apache/tuweni/evm/EthereumVirtualMachineTest.kt
@@ -25,9 +25,13 @@ import org.apache.tuweni.junit.BouncyCastleExtension
import org.apache.tuweni.junit.LuceneIndexWriter
import org.apache.tuweni.junit.LuceneIndexWriterExtension
import org.apache.tuweni.kv.MapKeyValueStore
+import org.apache.tuweni.units.bigints.UInt256
import org.apache.tuweni.units.ethereum.Gas
+import org.apache.tuweni.units.ethereum.Wei
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertTrue
+import org.junit.jupiter.api.Assumptions.assumeFalse
+import org.junit.jupiter.api.BeforeAll
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.ExtendWith
import java.nio.charset.StandardCharsets
@@ -35,6 +39,16 @@ import java.nio.charset.StandardCharsets
@ExtendWith(LuceneIndexWriterExtension::class, BouncyCastleExtension::class)
class EthereumVirtualMachineTest {
+ companion object {
+ @JvmStatic
+ @BeforeAll
+ fun checkOS() {
+ val osName = System.getProperty("os.name").toLowerCase()
+ val isWindows = osName.startsWith("windows")
+ assumeFalse(isWindows, "No Windows binaries available")
+ }
+ }
+
private val evmcFile: String
private val exampleVm: String
@@ -97,13 +111,6 @@ class EthereumVirtualMachineTest {
}
@Test
- fun testExecuteCallFn(@LuceneIndexWriter writer: IndexWriter) {
- val result = runCode(writer, Bytes.fromHexString("0x6000808080808080f1"))
- assertEquals(EVMExecutionStatusCode.EVMC_SUCCESS, result.statusCode)
- assertEquals(0, result.gasLeft)
- }
-
- @Test
@Throws(Exception::class)
fun testGetCapabilities(@LuceneIndexWriter writer: IndexWriter) {
val repository = BlockchainRepository(
@@ -159,7 +166,13 @@ class EthereumVirtualMachineTest {
val inputData = Bytes.wrap("hello w\u0000".toByteArray(StandardCharsets.UTF_8))
val gas = Gas.valueOf(200000)
val result =
- vm.execute(sender, destination, value, Bytes.fromHexString("0x00"), inputData, gas, CallKind.EVMC_CREATE)
+ vm.execute(sender, destination, value, Bytes.fromHexString("0x00"), inputData, gas,
+ Wei.valueOf(0),
+ Address.fromBytes(Bytes.random(20)),
+ 0,
+ 0,
+ 2,
+ UInt256.valueOf(1), CallKind.EVMC_CREATE)
assertEquals(EVMExecutionStatusCode.EVMC_SUCCESS, result.statusCode)
assertEquals(20000, result.gasLeft)
} finally {
@@ -186,7 +199,13 @@ class EthereumVirtualMachineTest {
val value = Bytes.fromHexString("0x3100")
val inputData = Bytes.wrap("hello w\u0000".toByteArray(StandardCharsets.UTF_8))
val gas = Gas.valueOf(200000)
- val result = vm.execute(sender, destination, value, code, inputData, gas)
+ val result = vm.execute(sender, destination, value, code, inputData, gas,
+ Wei.valueOf(0),
+ Address.fromBytes(Bytes.random(20)),
+ 0,
+ 0,
+ 2,
+ UInt256.valueOf(1))
return result
} finally {
vm.stop()
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/add0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/add0.json
new file mode 100644
index 0000000..d26cf91
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/add0.json
@@ -0,0 +1,52 @@
+{
+ "add0" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/add0Filler.json",
+ "sourceHash" : "c1480bf5e662b7f6518d4b003e14575c6bdab286e2d8763e1b0be9a186bec775"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013874",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/add1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/add1.json
new file mode 100644
index 0000000..a629398
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/add1.json
@@ -0,0 +1,52 @@
+{
+ "add1" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/add1Filler.json",
+ "sourceHash" : "58abbcfd1a384ccb03d83f044b66cff2cc9abef6f1a54818a7ff7cb476714317"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013874",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x03"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/add2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/add2.json
new file mode 100644
index 0000000..3bc8b48
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/add2.json
@@ -0,0 +1,51 @@
+{
+ "add2" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/add2Filler.json",
+ "sourceHash" : "cd24afb75c201e1a93d2d151ca35c46a12b3a6e75c2a6863ba3c165c4c608e3e"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01730c",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/add3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/add3.json
new file mode 100644
index 0000000..61c78fd
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/add3.json
@@ -0,0 +1,51 @@
+{
+ "add3" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/add3Filler.json",
+ "sourceHash" : "ae20f12e2e767dbad456c07295d6a8f994e094468483819f9d7c304539edb6d2"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600060000160005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01730c",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600060000160005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600060000160005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/add4.json b/evm/src/test/resources/VMTests/vmArithmeticTest/add4.json
new file mode 100644
index 0000000..fa95c86
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/add4.json
@@ -0,0 +1,51 @@
+{
+ "add4" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/add4Filler.json",
+ "sourceHash" : "01a799c6d77ac57a1d7ed48846925a7f44366a441673262143cae5b6b4e490d4"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60010160005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01730c",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60010160005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60010160005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod0.json
new file mode 100644
index 0000000..a95ac45
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod0.json
@@ -0,0 +1,52 @@
+{
+ "addmod0" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/addmod0Filler.json",
+ "sourceHash" : "b653c7415608e53969c4d45af66c0e8c01e60f9e0a01baed319bf4afe16832c2"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6002600260010860005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01386c",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6002600260010860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6002600260010860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1.json
new file mode 100644
index 0000000..0b7487f
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1.json
@@ -0,0 +1,52 @@
+{
+ "addmod1" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/addmod1Filler.json",
+ "sourceHash" : "0f4c87a18c88ad1719c0734d943900e35b8cd85724dde4b13d079aa434401c64"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6002600260000360016000030860005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013860",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6002600260000360016000030860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6002600260000360016000030860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflow2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflow2.json
new file mode 100644
index 0000000..228009e
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflow2.json
@@ -0,0 +1,51 @@
+{
+ "addmod1_overflow2" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/addmod1_overflow2Filler.json",
+ "sourceHash" : "859a55bda484acd51feda922aceaa23e31e12865f51e67b6a0a97ea400d68075"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6005600060016000030860005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0172fe",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6005600060016000030860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6005600060016000030860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflow3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflow3.json
new file mode 100644
index 0000000..3f5166f
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflow3.json
@@ -0,0 +1,52 @@
+{
+ "addmod1_overflow3" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/addmod1_overflow3Filler.json",
+ "sourceHash" : "30706ed78e85d639d747d0d96f9d655fb6d7bab738592cab092b5ed06a9bcb9c"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6005600160016000030860005500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0ef406",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6005600160016000030860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6005600160016000030860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflow4.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflow4.json
new file mode 100644
index 0000000..5a90c8d
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflow4.json
@@ -0,0 +1,52 @@
+{
+ "addmod1_overflow4" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/addmod1_overflow4Filler.json",
+ "sourceHash" : "290e77313bfea3300fcd4c37f2b2b026e89987c490482f597f55771f9d3a2464"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6005600260016000030860005500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0ef406",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6005600260016000030860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x02"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6005600260016000030860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflowDiff.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflowDiff.json
new file mode 100644
index 0000000..366440e
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflowDiff.json
@@ -0,0 +1,52 @@
+{
+ "addmod1_overflowDiff" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/addmod1_overflowDiffFiller.json",
+ "sourceHash" : "7073de29ae9c57cdf71391901294884b8c1ad23e0af2bd6117d724963451190f"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6005600260000360016000030860005500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0ef400",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6005600260000360016000030860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x04"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6005600260000360016000030860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod2.json
new file mode 100644
index 0000000..ccc80ae
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod2.json
@@ -0,0 +1,52 @@
+{
+ "addmod2" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/addmod2Filler.json",
+ "sourceHash" : "f36049f5013be2766abdaa9fea02d156f61db92b9ff86fb43919dcea98b119b8"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6003600160066000030860005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013866",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6003600160066000030860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x02"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6003600160066000030860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod2_0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod2_0.json
new file mode 100644
index 0000000..9cbd015
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod2_0.json
@@ -0,0 +1,51 @@
+{
+ "addmod2_0" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/addmod2_0Filler.json",
+ "sourceHash" : "0470b8d3fbdd7464c8b54b014d2dc29d655334e6511b5321f5303b45cee70c04"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6003600160066000030860036005600003071460005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0172ea",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6003600160066000030860036005600003071460005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6003600160066000030860036005600003071460005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod2_1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod2_1.json
new file mode 100644
index 0000000..28fc7eb
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod2_1.json
@@ -0,0 +1,52 @@
+{
+ "addmod2_1" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/addmod2_1Filler.json",
+ "sourceHash" : "39a8b5c350ef205d73c3ce50c9a5b65fc73b9de0a683785069b200910e52a785"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6003600160066000030860036005600003061460005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013852",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6003600160066000030860036005600003061460005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6003600160066000030860036005600003061460005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod3.json
new file mode 100644
index 0000000..05c0e04
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod3.json
@@ -0,0 +1,52 @@
+{
+ "addmod3" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/addmod3Filler.json",
+ "sourceHash" : "cbc5d170bec034c46999f04994906662d1b4344fd3b601c0d7e2ee848ef2b447"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6003600003600160040860005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013866",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6003600003600160040860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x05"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6003600003600160040860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod3_0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod3_0.json
new file mode 100644
index 0000000..72a0782
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod3_0.json
@@ -0,0 +1,51 @@
+{
+ "addmod3_0" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/addmod3_0Filler.json",
+ "sourceHash" : "e1cb0b8be178a79f05d8546ee197708bc3d7fd00f54a65d918b8951fed512df7"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6002600360000360016004081460005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0172f8",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6002600360000360016004081460005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6002600360000360016004081460005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmodBigIntCast.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodBigIntCast.json
new file mode 100644
index 0000000..31bf138
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodBigIntCast.json
@@ -0,0 +1,52 @@
+{
+ "addmodBigIntCast" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/addmodBigIntCastFiller.json",
+ "sourceHash" : "415fdbb2f1c3831ba6e026e3d89bb1adde8a2481cfd597d10731937183689331"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600560017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0860005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01386c",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600560017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600560017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero.json
new file mode 100644
index 0000000..ae33c41
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero.json
@@ -0,0 +1,51 @@
+{
+ "addmodDivByZero" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/addmodDivByZeroFiller.json",
+ "sourceHash" : "1e809c4e48f7db08a82518bcc966b38951b82dc7bbf1d274e01b3ad85d71227c"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6000600160040860005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x017304",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6000600160040860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6000600160040860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero1.json
new file mode 100644
index 0000000..68243c5
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero1.json
@@ -0,0 +1,51 @@
+{
+ "addmodDivByZero1" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/addmodDivByZero1Filler.json",
+ "sourceHash" : "f57501deeca8fc79fdeefa4be7c1b006c1d1c17c897cd3ad82457bc409e9c2e1"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6000600160000860005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x017304",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6000600160000860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6000600160000860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero2.json
new file mode 100644
index 0000000..bf9372a
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero2.json
@@ -0,0 +1,51 @@
+{
+ "addmodDivByZero2" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/addmodDivByZero2Filler.json",
+ "sourceHash" : "a5029196294b809ee6553af69ebc5a0fc5d9d664227c6fadcb206a896ed05e55"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6000600060010860005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x017304",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6000600060010860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6000600060010860005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero3.json
new file mode 100644
index 0000000..c45da02
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero3.json
@@ -0,0 +1,52 @@
+{
+ "addmodDivByZero3" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/addmodDivByZero3Filler.json",
+ "sourceHash" : "79608869311129576b4443f4748e375501ab1738b9e22f4ed37351e8ca090ac9"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6001600060006000080360005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013866",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6001600060006000080360005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6001600060006000080360005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/arith1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/arith1.json
new file mode 100644
index 0000000..c335d82
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/arith1.json
@@ -0,0 +1,51 @@
+{
+ "arith1" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/arith1Filler.json",
+ "sourceHash" : "3882779330325929a33f27d05b731300641f486cfec909dfcc6b1ea65e1294b1"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6001600190016007026005016002900460049060016021900560150160030260059007600303600960110a60005260086000f300",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0f41bf",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x0000000000000000",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6001600190016007026005016002900460049060016021900560150160030260059007600303600960110a60005260086000f300",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6001600190016007026005016002900460049060016021900560150160030260059007600303600960110a60005260086000f300",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/div1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/div1.json
new file mode 100644
index 0000000..4b5f7aa
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/div1.json
@@ -0,0 +1,51 @@
+{
+ "div1" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/div1Filler.json",
+ "sourceHash" : "a6147ee1bbfcaf3d20f6cda97756669a662e99027325454e2c1a4086d1ff0440"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60027ffedcba9876543210fedcba9876543210fedcba9876543210fedcba98765432100460005260206000f300",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x018686",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x7f6e5d4c3b2a19087f6e5d4c3b2a19087f6e5d4c3b2a19087f6e5d4c3b2a1908",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60027ffedcba9876543210fedcba9876543210fedcba9876543210fedcba98765432100460005260206000f300",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60027ffedcba9876543210fedcba9876543210fedcba9876543210fedcba98765432100460005260206000f300",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/divBoostBug.json b/evm/src/test/resources/VMTests/vmArithmeticTest/divBoostBug.json
new file mode 100644
index 0000000..a3dacc8
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/divBoostBug.json
@@ -0,0 +1,52 @@
+{
+ "divBoostBug" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/divBoostBugFiller.json",
+ "sourceHash" : "80af54da1fb29e0d2762c05b09e3780f6c8aa840329c949863c6320b2cea1706"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x7f01dae6076b981dae6076b981dae6076b981dae6076b981dae6076b981dae60777fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba0460005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013872",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7f01dae6076b981dae6076b981dae6076b981dae6076b981dae6076b981dae60777fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba0460005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x89"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7f01dae6076b981dae6076b981dae6076b981dae6076b981dae6076b981dae60777fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba0460005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero0.json
new file mode 100644
index 0000000..a3afc78
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero0.json
@@ -0,0 +1,52 @@
+{
+ "divByNonZero0" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/divByNonZero0Filler.json",
+ "sourceHash" : "bbf583036e63d6ac5eced74ae000395c1b708308746b9019ceddc24e79d202e2"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600260050460005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013872",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600260050460005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x02"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600260050460005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero1.json
new file mode 100644
index 0000000..7667be9
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero1.json
@@ -0,0 +1,51 @@
+{
+ "divByNonZero1" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/divByNonZero1Filler.json",
+ "sourceHash" : "6005281a6fb03f18e03d14c81a2808c823a4a3245ebdbebaec1719f04d53ab89"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x601860170460005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01730a",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601860170460005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601860170460005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero2.json
new file mode 100644
index 0000000..fb12ece
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero2.json
@@ -0,0 +1,51 @@
+{
+ "divByNonZero2" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/divByNonZero2Filler.json",
+ "sourceHash" : "bf31daf150ff046e0e222fac4c525bd16b93f9b525a3967136b1b8e1d5737aff"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x601860000460005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01730a",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601860000460005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601860000460005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero3.json
new file mode 100644
index 0000000..144d3c4
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero3.json
@@ -0,0 +1,52 @@
+{
+ "divByNonZero3" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/divByNonZero3Filler.json",
+ "sourceHash" : "20e12df4e30a941238bad9d9a0761ecef44431f13333c4627ddb50cc95e31182"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600160010460005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013872",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600160010460005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600160010460005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/divByZero.json b/evm/src/test/resources/VMTests/vmArithmeticTest/divByZero.json
new file mode 100644
index 0000000..b548c0c
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/divByZero.json
@@ -0,0 +1,51 @@
+{
+ "divByZero" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/divByZeroFiller.json",
+ "sourceHash" : "9e7f7a241f3f77481f52c5852b2188259e2d386b6df90276b253e9cb020e1b3b"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600060020460005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01730a",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600060020460005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600060020460005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/divByZero_2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/divByZero_2.json
new file mode 100644
index 0000000..dd7aeff
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/divByZero_2.json
@@ -0,0 +1,52 @@
+{
+ "divByZero_2" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/divByZero_2Filler.json",
+ "sourceHash" : "2c838e6100f4152156e9c98066378169c12494d25c9cc7b60a4658f02b2ee304"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60076000600d040160005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01386c",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60076000600d040160005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x07"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60076000600d040160005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/exp0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/exp0.json
new file mode 100644
index 0000000..89d2c9b
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/exp0.json
@@ -0,0 +1,52 @@
+{
+ "exp0" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/exp0Filler.json",
+ "sourceHash" : "4579e7a6ee4174d0821ec00958ba57534d6e41ed4fe61a98652323ecc15c8ed7"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600260020a60005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013863",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600260020a60005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x04"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600260020a60005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/exp1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/exp1.json
new file mode 100644
index 0000000..f362e4e
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/exp1.json
@@ -0,0 +1,52 @@
+{
+ "exp1" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/exp1Filler.json",
+ "sourceHash" : "c6f7f6ba8f80356ecabde31da7368a74b032f2926c4ff34348bd9718632c5c75"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a60005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01372d",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a60005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a60005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/exp2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/exp2.json
new file mode 100644
index 0000000..5230b89
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/exp2.json
@@ -0,0 +1,52 @@
+{
+ "exp2" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/exp2Filler.json",
+ "sourceHash" : "11127c85c5b491b8279ecd74d2f9ffffa97f27a813a3b94269eb5b7a6d7b4507"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x637fffffff637fffffff0a60005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013845",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x637fffffff637fffffff0a60005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0xbc8cccccccc888888880000000aaaaaab00000000fffffffffffffff7fffffff"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x637fffffff637fffffff0a60005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/exp3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/exp3.json
new file mode 100644
index 0000000..3df30f9
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/exp3.json
@@ -0,0 +1,51 @@
+{
+ "exp3" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/exp3Filler.json",
+ "sourceHash" : "3c0e3c7d24659729cd1ddaed69175799562288c0e1e554c0b69ce6fbfc5b31f6"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x637fffffff60000a60005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0172dd",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x637fffffff60000a60005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x637fffffff60000a60005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/exp4.json b/evm/src/test/resources/VMTests/vmArithmeticTest/exp4.json
new file mode 100644
index 0000000..26ff95f
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/exp4.json
@@ -0,0 +1,52 @@
+{
+ "exp4" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/exp4Filler.json",
+ "sourceHash" : "8557e2a795056339a0d9d28cb288052cf139c35f0bfb5f4ff2bc0c0ded44bfe7"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6000637fffffff0a60005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01386d",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6000637fffffff0a60005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6000637fffffff0a60005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/exp5.json b/evm/src/test/resources/VMTests/vmArithmeticTest/exp5.json
new file mode 100644
index 0000000..f4c86e8
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/exp5.json
@@ -0,0 +1,52 @@
+{
+ "exp5" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/exp5Filler.json",
+ "sourceHash" : "b1412b81e7750b718b77a2d815e145685cbff41377f528ba9f46ebd73688fc41"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60016101010a60005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013863",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60016101010a60005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x0101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60016101010a60005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/exp6.json b/evm/src/test/resources/VMTests/vmArithmeticTest/exp6.json
new file mode 100644
index 0000000..5f08df4
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/exp6.json
@@ -0,0 +1,52 @@
+{
+ "exp6" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/exp6Filler.json",
+ "sourceHash" : "a144f79a281bde3f33ec1247fd41030ea192dd2223da937d87eb34367d359654"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x61010160010a60005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013859",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x61010160010a60005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x61010160010a60005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/exp7.json b/evm/src/test/resources/VMTests/vmArithmeticTest/exp7.json
new file mode 100644
index 0000000..5e38ad5
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/exp7.json
@@ -0,0 +1,51 @@
+{
+ "exp7" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/exp7Filler.json",
+ "sourceHash" : "b587b81265d05055a8b18a5a9b3a38f2883b8f769d0f1c492e812c8f81598d0c"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x61010160020a60005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0172f1",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x61010160020a60005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x61010160020a60005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/exp8.json b/evm/src/test/resources/VMTests/vmArithmeticTest/exp8.json
new file mode 100644
index 0000000..d836aac
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/exp8.json
@@ -0,0 +1,52 @@
+{
+ "exp8" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/exp8Filler.json",
+ "sourceHash" : "c0c612ad120182375240db2941beffe9474192e60903e40e27ee6fe59aa51ce1"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600060000a60005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01386d",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600060000a60005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600060000a60005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_0.json
new file mode 100644
index 0000000..8e6410d
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_0.json
@@ -0,0 +1,60 @@
+{
+ "expPowerOf256Of256_0" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_0Filler.json",
+ "sourceHash" : "e7eba85656cf846e3b2fb78c097671a8553ac4be95129384223e0b33f942d9e6"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60006101000a6101000a600055600060ff0a6101000a60015560006101010a6101000a60025560006101000a60ff0a600355600060ff0a60ff0a60045560006101010a60ff0a60055560006101000a6101010a600655600060ff0a6101010a60075560006101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0c81a6",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60006101000a6101000a600055600060ff0a6101000a60015560006101010a6101000a60025560006101000a60ff0a600355600060ff0a60ff0a60045560006101010a60ff0a60055560006101000a6101010a600655600060ff0a6101010a60075560006101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x0100",
+ "0x01" : "0x0100",
+ "0x02" : "0x0100",
+ "0x03" : "0xff",
+ "0x04" : "0xff",
+ "0x05" : "0xff",
+ "0x06" : "0x0101",
+ "0x07" : "0x0101",
+ "0x08" : "0x0101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60006101000a6101000a600055600060ff0a6101000a60015560006101010a6101000a60025560006101000a60ff0a600355600060ff0a60ff0a60045560006101010a60ff0a60055560006101000a6101010a600655600060ff0a6101010a60075560006101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_1.json
new file mode 100644
index 0000000..b5ce36f
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_1.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_1" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_1Filler.json",
+ "sourceHash" : "e598524d486352e22b7130a9d02b2b8334bbd63f4f704559f77a2c2bfc4e087f"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60016101000a6101000a600055600160ff0a6101000a60015560016101010a6101000a60025560016101000a60ff0a600355600160ff0a60ff0a60045560016101010a60ff0a60055560016101000a6101010a600655600160ff0a6101010a60075560016101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d30d8",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60016101000a6101000a600055600160ff0a6101000a60015560016101010a6101000a60025560016101000a60ff0a600355600160ff0a60ff0a60045560016101010a60ff0a60055560016101000a6101010a600655600160ff0a6101010a60075560016101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x06c3acd330b959ad6efabce6d2d2125e73a88a65a9880d203dddf5957f7f0001",
+ "0x04" : "0x8f965a06da0ac41dcb3a34f1d8ab7d8fee620a94faa42c395997756b007ffeff",
+ "0x05" : "0xbce9265d88a053c18bc229ebff404c1534e1db43de85131da0179fe9ff8100ff",
+ "0x06" : "0x02b5e9d7a094c19f5ebdd4f2e618f859ed15e4f1f0351f286bf849eb7f810001",
+ "0x07" : "0xc73b7a6f68385c653a24993bb72eea0e4ba17470816ec658cf9c5bedfd81ff01",
+ "0x08" : "0xb89fc178355660fe1c92c7d8ff11524702fad6e2255447946442356b00810101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60016101000a6101000a600055600160ff0a6101000a60015560016101010a6101000a60025560016101000a60ff0a600355600160ff0a60ff0a60045560016101010a60ff0a60055560016101000a6101010a600655600160ff0a6101010a60075560016101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_10.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_10.json
new file mode 100644
index 0000000..3a07ae4
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_10.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_10" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_10Filler.json",
+ "sourceHash" : "265ede01ea54fa89e1fb73e948c30f654a8fe3d5bd782165b24547cb65cc22fd"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600a6101000a6101000a600055600a60ff0a6101000a600155600a6101010a6101000a600255600a6101000a60ff0a600355600a60ff0a60ff0a600455600a6101010a60ff0a600555600a6101000a6101010a600655600a60ff0a6101010a600755600a6101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2dae",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600a6101000a6101000a600055600a60ff0a6101000a600155600a6101010a6101000a600255600a6101000a60ff0a600355600a60ff0a60ff0a600455600a6101010a60ff0a600555600a6101000a6101010a600655600a60ff0a6101010a600755600a6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0xfe0f60957dc223578a0298879ec55c33085514ff7f0000000000000000000001",
+ "0x04" : "0xc1ea45f348b5d351c4d8fe5c77da979cadc33d866acc42e981278896b1f600ff",
+ "0x05" : "0x56ddb29bca94fb986ac0a40188b3b53f3216b3559bd8324a77ea8bd8a80a00ff",
+ "0x06" : "0x2d49ff6b0bbe177ae9317000b68fb921f7aa6aff810000000000000000000001",
+ "0x07" : "0x185fa9eab94cfe3016b69657e83b23fd24cc6960218254231c3db627a7f60101",
+ "0x08" : "0xa7a0223829f26d6c635368034320563df4aa5eb62efc87a42bb35f69b20a0101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600a6101000a6101000a600055600a60ff0a6101000a600155600a6101010a6101000a600255600a6101000a60ff0a600355600a60ff0a60ff0a600455600a6101010a60ff0a600555600a6101000a6101010a600655600a60ff0a6101010a600755600a6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_11.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_11.json
new file mode 100644
index 0000000..3db060f
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_11.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_11" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_11Filler.json",
+ "sourceHash" : "e43f8e1a2ed9336cb787e1fc57ccdb89e4a04c47239ca4718e92004ffc1cc3ef"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600b6101000a6101000a600055600b60ff0a6101000a600155600b6101010a6101000a600255600b6101000a60ff0a600355600b60ff0a60ff0a600455600b6101010a60ff0a600555600b6101000a6101010a600655600b60ff0a6101010a600755600b6101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2d54",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600b6101000a6101000a600055600b60ff0a6101000a600155600b6101010a6101000a600255600b6101000a60ff0a600355600b60ff0a60ff0a600455600b6101010a60ff0a600555600b6101000a6101010a600655600b60ff0a6101010a600755600b6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0xe1440264b8ee0cea0218879ec55c33085514ff7f000000000000000000000001",
+ "0x04" : "0x29575fdce377b23043e489e358581474bc863187fa85f9945473a2be5889feff",
+ "0x05" : "0x3df8c030ec521fb109c4d887dbbc14c7c9c9921b27058e3503971b60b18b00ff",
+ "0x06" : "0x67799740340daf4a30f000b68fb921f7aa6aff81000000000000000000000001",
+ "0x07" : "0x540a4e4635b40585e09ff10b63ffe310dd717fca5c0a51570091e25e378bff01",
+ "0x08" : "0xdbbaef5c49ffee61b08cde6ebc8dba6e9a62d56c2355d1980cb9e790bc8b0101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600b6101000a6101000a600055600b60ff0a6101000a600155600b6101010a6101000a600255600b6101000a60ff0a600355600b60ff0a60ff0a600455600b6101010a60ff0a600555600b6101000a6101010a600655600b60ff0a6101010a600755600b6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_12.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_12.json
new file mode 100644
index 0000000..5c1e812
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_12.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_12" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_12Filler.json",
+ "sourceHash" : "01b62fe9df4dbb7480ae2cf9abb76d594631621a886f85212337e77b14f99438"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600c6101000a6101000a600055600c60ff0a6101000a600155600c6101010a6101000a600255600c6101000a60ff0a600355600c60ff0a60ff0a600455600c6101010a60ff0a600555600c6101000a6101010a600655600c60ff0a6101010a600755600c6101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2cfa",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600c6101000a6101000a600055600c60ff0a6101000a600155600c6101010a6101000a600255600c6101000a60ff0a600355600c60ff0a60ff0a600455600c6101010a60ff0a600555600c6101000a6101010a600655600c60ff0a6101010a600755600c6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0xb0e95b83a36ce98218879ec55c33085514ff7f00000000000000000000000001",
+ "0x04" : "0xc482ab56ec19186dc48c88f30861a850b2253b1ea6dc021589e569bd47f400ff",
+ "0x05" : "0xcf45c7f9af4bbe4a83055b55b97777ad5e0a3f08b129c9ae208c5d713c0c00ff",
+ "0x06" : "0xa5cbb62a421049b0f000b68fb921f7aa6aff8100000000000000000000000001",
+ "0x07" : "0x3bde6ca66dffe1bf5d727c3edea74c7a4af43b3912e6256d37705c8f3bf40101",
+ "0x08" : "0x3f49a1e40c5213aa4ffed57eb4c1ad2d181b2aaa289e9d59c2256c43480c0101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600c6101000a6101000a600055600c60ff0a6101000a600155600c6101010a6101000a600255600c6101000a60ff0a600355600c60ff0a60ff0a600455600c6101010a60ff0a600555600c6101000a6101010a600655600c60ff0a6101010a600755600c6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_13.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_13.json
new file mode 100644
index 0000000..e4bd916
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_13.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_13" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_13Filler.json",
+ "sourceHash" : "c62982cada7a1ee86b69a3426e2cd65702c41ce6469fbfca1e44984956c9ce5d"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600d6101000a6101000a600055600d60ff0a6101000a600155600d6101010a6101000a600255600d6101000a60ff0a600355600d60ff0a60ff0a600455600d6101010a60ff0a600555600d6101000a6101010a600655600d60ff0a6101010a600755600d6101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2ca0",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600d6101000a6101000a600055600d60ff0a6101000a600155600d6101010a6101000a600255600d6101000a60ff0a600355600d60ff0a60ff0a600455600d6101010a60ff0a600555600d6101000a6101010a600655600d60ff0a6101010a600755600d6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0xe02639036c698218879ec55c33085514ff7f0000000000000000000000000001",
+ "0x04" : "0x8be664bde946d939ce551b948b503787942d2a7734509288c1b62fd5c48bfeff",
+ "0x05" : "0xa923a28e7a75aef26c51580ffc686879e4a0b404b089bdbcd751d88b478d00ff",
+ "0x06" : "0x41ac5ea30fc9b0f000b68fb921f7aa6aff810000000000000000000000000001",
+ "0x07" : "0x0daa3a177ec975cb69bb4acf4a6e1be7bcc1ad33d1ffad97510f9fea9d8dff01",
+ "0x08" : "0x19e6822beb889be28310060f4fb9741bfd50a31fa81ec65de21f7b02548d0101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600d6101000a6101000a600055600d60ff0a6101000a600155600d6101010a6101000a600255600d6101000a60ff0a600355600d60ff0a60ff0a600455600d6101010a60ff0a600555600d6101000a6101010a600655600d60ff0a6101010a600755600d6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_14.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_14.json
new file mode 100644
index 0000000..0185204
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_14.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_14" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_14Filler.json",
+ "sourceHash" : "8c4f112ebf3af5b9334e845cff94d0bcf8ba39ec309500102671fd2057cbff93"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600e6101000a6101000a600055600e60ff0a6101000a600155600e6101010a6101000a600255600e6101000a60ff0a600355600e60ff0a60ff0a600455600e6101010a60ff0a600555600e6101000a6101010a600655600e60ff0a6101010a600755600e6101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2c46",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600e6101000a6101000a600055600e60ff0a6101000a600155600e6101010a6101000a600255600e6101000a60ff0a600355600e60ff0a60ff0a600455600e6101010a60ff0a600555600e6101000a6101010a600655600e60ff0a6101010a600755600e6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0xdb9902ec698218879ec55c33085514ff7f000000000000000000000000000001",
+ "0x04" : "0x83fab06c6c8fef761ebbb9534c06ac2a9d61820623008069062ff3b1e1f200ff",
+ "0x05" : "0x3f791dd183ed5b963bd86e0dba1a9dd5b8ceeb078f15c73062f1942fd40e00ff",
+ "0x06" : "0xe0bfa28fc9b0f000b68fb921f7aa6aff81000000000000000000000000000001",
+ "0x07" : "0x8133b760dfae27560eb490f235ddfa301f058dee4f01f3fe4b3567d0d3f20101",
+ "0x08" : "0xcd4cd0124e983af71620fb5f98275965c6a8bebc4b8adc288b63224ee20e0101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600e6101000a6101000a600055600e60ff0a6101000a600155600e6101010a6101000a600255600e6101000a60ff0a600355600e60ff0a60ff0a600455600e6101010a60ff0a600555600e6101000a6101010a600655600e60ff0a6101010a600755600e6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_15.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_15.json
new file mode 100644
index 0000000..6900168
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_15.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_15" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_15Filler.json",
+ "sourceHash" : "1925a35311507166f63e220f6ff1e561172708b9ba40e9522c81b316ea8da1db"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600f6101000a6101000a600055600f60ff0a6101000a600155600f6101010a6101000a600255600f6101000a60ff0a600355600f60ff0a60ff0a600455600f6101010a60ff0a600555600f6101000a6101010a600655600f60ff0a6101010a600755600f6101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2bec",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600f6101000a6101000a600055600f60ff0a6101000a600155600f6101010a6101000a600255600f6101000a60ff0a600355600f60ff0a60ff0a600455600f6101010a60ff0a600555600f6101000a6101010a600655600f60ff0a6101010a600755600f6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x9882ec698218879ec55c33085514ff7f00000000000000000000000000000001",
+ "0x04" : "0x75c4915e18b96704209738f5ca765568bb4dc4113d56683977825a132c8dfeff",
+ "0x05" : "0x5c76839bf5a80b1da705dbdf43e4dd6770cd7501af11ff2dab7918dfe18f00ff",
+ "0x06" : "0xbf228fc9b0f000b68fb921f7aa6aff8100000000000000000000000000000001",
+ "0x07" : "0xc6a29131e7594004bc2aa79f0d2c402a1409c57c77d284c14b1a3ab0ff8fff01",
+ "0x08" : "0xe6b3e5cf6ec90e532fef7d08455ebf92a03e9e3f6e224ea0febdf1a9f08f0101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600f6101000a6101000a600055600f60ff0a6101000a600155600f6101010a6101000a600255600f6101000a60ff0a600355600f60ff0a60ff0a600455600f6101010a60ff0a600555600f6101000a6101010a600655600f60ff0a6101010a600755600f6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_16.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_16.json
new file mode 100644
index 0000000..d44cbad
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_16.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_16" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_16Filler.json",
+ "sourceHash" : "34791b0a5c045c2e7998ce8501c5a8c8de7452e41f86380c0c0fe05419648cc3"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60106101000a6101000a600055601060ff0a6101000a60015560106101010a6101000a60025560106101000a60ff0a600355601060ff0a60ff0a60045560106101010a60ff0a60055560106101000a6101010a600655601060ff0a6101010a60075560106101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2b92",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60106101000a6101000a600055601060ff0a6101000a60015560106101010a6101000a60025560106101000a60ff0a600355601060ff0a60ff0a60045560106101010a60ff0a60055560106101000a6101010a600655601060ff0a6101010a60075560106101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x82ec698218879ec55c33085514ff7f0000000000000000000000000000000001",
+ "0x04" : "0x3122f4bcdf6dd8b265cd18eb6af28c879aed44a35e0bf59273e39e6c7ff000ff",
+ "0x05" : "0x6a2b3bc87a02c29b9d27757df43047ecd0f15485270fca27417a701c701000ff",
+ "0x06" : "0x228fc9b0f000b68fb921f7aa6aff810000000000000000000000000000000001",
+ "0x07" : "0x88e1259502eef93d46060aacc9e2ff506c734dade0b6714ab12d17e46ff00101",
+ "0x08" : "0x4a103813c12c12169b218296bb0a9eae80cf8d2b158aa70eb990f99480100101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60106101000a6101000a600055601060ff0a6101000a60015560106101010a6101000a60025560106101000a60ff0a600355601060ff0a60ff0a60045560106101010a60ff0a60055560106101000a6101010a600655601060ff0a6101010a60075560106101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_17.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_17.json
new file mode 100644
index 0000000..a4da686
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_17.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_17" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_17Filler.json",
+ "sourceHash" : "9bab5fa9602862ce95bc7711f5a3ec9f2bfa336238d0ef8481ee57c2affc6ff4"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60116101000a6101000a600055601160ff0a6101000a60015560116101010a6101000a60025560116101000a60ff0a600355601160ff0a60ff0a60045560116101010a60ff0a60055560116101000a6101010a600655601160ff0a6101010a60075560116101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2b38",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60116101000a6101000a600055601160ff0a6101000a60015560116101010a6101000a60025560116101000a60ff0a600355601160ff0a60ff0a60045560116101010a60ff0a60055560116101000a6101010a600655601160ff0a6101010a60075560116101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0xec698218879ec55c33085514ff7f000000000000000000000000000000000001",
+ "0x04" : "0x722ad218eb1995a2d257c4c06d8de993c203cfc8e3512df7d633e17e908ffeff",
+ "0x05" : "0x8ac9b5ec08d74612cb29f941481d274b51721af2296207c0da8d24667f9100ff",
+ "0x06" : "0x8fc9b0f000b68fb921f7aa6aff81000000000000000000000000000000000001",
+ "0x07" : "0x81d5ff63680841482299f3eab616446dcd336f537c0c565aa4112ab95d91ff01",
+ "0x08" : "0x9c6ca90dac4e97dea02ac969e8649ee9e6232e0c3f4797411151cb8f90910101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60116101000a6101000a600055601160ff0a6101000a60015560116101010a6101000a60025560116101000a60ff0a600355601160ff0a60ff0a60045560116101010a60ff0a60055560116101000a6101010a600655601160ff0a6101010a60075560116101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_18.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_18.json
new file mode 100644
index 0000000..fdeb90a
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_18.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_18" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_18Filler.json",
+ "sourceHash" : "373ca75a93f6b6ce471ad922bc80558a01ec60391bc3671767607609e71cda9a"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60126101000a6101000a600055601260ff0a6101000a60015560126101010a6101000a60025560126101000a60ff0a600355601260ff0a60ff0a60045560126101010a60ff0a60055560126101000a6101010a600655601260ff0a6101010a60075560126101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2ade",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60126101000a6101000a600055601260ff0a6101000a60015560126101010a6101000a60025560126101000a60ff0a600355601260ff0a60ff0a60045560126101010a60ff0a60055560126101000a6101010a600655601260ff0a6101010a60075560126101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x698218879ec55c33085514ff7f00000000000000000000000000000000000001",
+ "0x04" : "0x8a2cbd9f40794e2205b13306f2aa0a43c60823c64b95d8601fa4f1e521ee00ff",
+ "0x05" : "0xc1b5a1e3a81da51b10d84e880f0113ff67b863ddad3faf1f4ecf413f101200ff",
+ "0x06" : "0xc9b0f000b68fb921f7aa6aff8100000000000000000000000000000000000001",
+ "0x07" : "0x410be68e49452a1fbcd863bf6e8d637f8eae4979c34c88d552afbcc20fee0101",
+ "0x08" : "0xf540cb714754b5b1eb0373833833bd7fb0ee925ce8b92962500b7a1c22120101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60126101000a6101000a600055601260ff0a6101000a60015560126101010a6101000a60025560126101000a60ff0a600355601260ff0a60ff0a60045560126101010a60ff0a60055560126101000a6101010a600655601260ff0a6101010a60075560126101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_19.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_19.json
new file mode 100644
index 0000000..0e504ad
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_19.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_19" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_19Filler.json",
+ "sourceHash" : "b3d17455920e3967763375a04bc0e859d6594185239f6fccab1619e6680fbec3"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60136101000a6101000a600055601360ff0a6101000a60015560136101010a6101000a60025560136101000a60ff0a600355601360ff0a60ff0a60045560136101010a60ff0a60055560136101000a6101010a600655601360ff0a6101010a60075560136101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2a84",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60136101000a6101000a600055601360ff0a6101000a60015560136101010a6101000a60025560136101000a60ff0a600355601360ff0a60ff0a60045560136101010a60ff0a60055560136101000a6101010a600655601360ff0a6101010a60075560136101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x8218879ec55c33085514ff7f0000000000000000000000000000000000000001",
+ "0x04" : "0xb795ad7ac24cfbb7435cf53bd3584f3d4b2709935635c3ceb66e761ff091feff",
+ "0x05" : "0x1f0bb7be91a0ccd0cca93d75cf03de3e6b56fe8f1c54242617665327219300ff",
+ "0x06" : "0xb0f000b68fb921f7aa6aff810000000000000000000000000000000000000001",
+ "0x07" : "0xad571756ecbff1bfdef064861e5e92c5d897a9cc380e54bdbaabd80bb793ff01",
+ "0x08" : "0xd8b5b531989e689f700dcdb43ab90e79a49dfbbb5a13dbf751df98bb34930101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60136101000a6101000a600055601360ff0a6101000a60015560136101010a6101000a60025560136101000a60ff0a600355601360ff0a60ff0a60045560136101010a60ff0a60055560136101000a6101010a600655601360ff0a6101010a60075560136101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_2.json
new file mode 100644
index 0000000..e092a1e
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_2.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_2" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_2Filler.json",
+ "sourceHash" : "4acafeba97d5abc001cf4553ad3317c3bd25f0aeb8c4aa4f7bbee5792d846f8a"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60026101000a6101000a600055600260ff0a6101000a60015560026101010a6101000a60025560026101000a60ff0a600355600260ff0a60ff0a60045560026101010a60ff0a60055560026101000a6101010a600655600260ff0a6101010a60075560026101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d307e",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60026101000a6101000a600055600260ff0a6101000a60015560026101010a6101000a60025560026101000a60ff0a600355600260ff0a60ff0a60045560026101010a60ff0a60055560026101000a6101010a600655600260ff0a6101010a60075560026101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x4ee4ceeaac565c81f55a87c43f82f7c889ef4fc7c679671e28d594ff7f000001",
+ "0x04" : "0x82f46a1b4e34d66712910615d2571d75606ceac51fa8ca8c58cf6ca881fe00ff",
+ "0x05" : "0x81c9fcefa5de158ae2007f25d35c0d11cd735342a48905955a5a6852800200ff",
+ "0x06" : "0x666ac362902470ed850709e2a29969d10cba09debc03c38d172aeaff81000001",
+ "0x07" : "0xeb30a3c678a01bde914548f98f3366dc0ffe9f85384ebf1111d03dad7ffe0101",
+ "0x08" : "0x72d0a7939b6303ce1d46e6e3f1b8be303bfdb2b00f41ad8076b0975782020101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60026101000a6101000a600055600260ff0a6101000a60015560026101010a6101000a60025560026101000a60ff0a600355600260ff0a60ff0a60045560026101010a60ff0a60055560026101000a6101010a600655600260ff0a6101010a60075560026101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_20.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_20.json
new file mode 100644
index 0000000..302ae46
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_20.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_20" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_20Filler.json",
+ "sourceHash" : "28a2bcb656eeef07c781e427018557d309af42d817f1e81d77d6f4e56b4d0d66"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60146101000a6101000a600055601460ff0a6101000a60015560146101010a6101000a60025560146101000a60ff0a600355601460ff0a60ff0a60045560146101010a60ff0a60055560146101000a6101010a600655601460ff0a6101010a60075560146101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2a2a",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60146101000a6101000a600055601460ff0a6101000a60015560146101010a6101000a60025560146101000a60ff0a600355601460ff0a60ff0a60045560146101010a60ff0a60055560146101000a6101010a600655601460ff0a6101010a60075560146101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x18879ec55c33085514ff7f000000000000000000000000000000000000000001",
+ "0x04" : "0x67e4797dc21f02ce4a7c52218c7dbea5d212e6c244e24f0ba4c08613c7ec00ff",
+ "0x05" : "0xa1ce1a085f258785846939cc1d2e8725ac94ad4dff8913234e00679fb41400ff",
+ "0x06" : "0xf000b68fb921f7aa6aff81000000000000000000000000000000000000000001",
+ "0x07" : "0xcce501857a1cb45473915a28082af950e0f78f7e2de68ce748adb661b3ec0101",
+ "0x08" : "0x3b2e28d274a16c08b58a23bad63bba6d7b09685769d1f68ca3873bedc8140101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60146101000a6101000a600055601460ff0a6101000a60015560146101010a6101000a60025560146101000a60ff0a600355601460ff0a60ff0a60045560146101010a60ff0a60055560146101000a6101010a600655601460ff0a6101010a60075560146101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_21.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_21.json
new file mode 100644
index 0000000..f7ccdfb
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_21.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_21" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_21Filler.json",
+ "sourceHash" : "ce31f7226e75f9fee23ba98475c75e8ebc1a1aae106dc668c05af1df2c8ab065"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60156101000a6101000a600055601560ff0a6101000a60015560156101010a6101000a60025560156101000a60ff0a600355601560ff0a60ff0a60045560156101010a60ff0a60055560156101000a6101010a600655601560ff0a6101010a60075560156101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d29d0",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60156101000a6101000a600055601560ff0a6101000a60015560156101010a6101000a60025560156101000a60ff0a600355601560ff0a60ff0a60045560156101010a60ff0a60055560156101000a6101010a600655601560ff0a6101010a60075560156101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x879ec55c33085514ff7f00000000000000000000000000000000000000000001",
+ "0x04" : "0x7fd07055ff50cdfe4b4bd9a15133d72d3607d92eb7ac81bac93db7ff4c93feff",
+ "0x05" : "0x665ac5c769e87f61d5993abc26522fbfca2734d76a63216b2d550d29c79500ff",
+ "0x06" : "0xb68fb921f7aa6aff8100000000000000000000000000000000000000000001",
+ "0x07" : "0x1c93db67c9884bc694686d69a25a5d7ed089841d5ce147fdd7199ab00d95ff01",
+ "0x08" : "0x485053d8ff66be52036597520344fac87b6a305426a9e49221d3f934dc950101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60156101000a6101000a600055601560ff0a6101000a60015560156101010a6101000a60025560156101000a60ff0a600355601560ff0a60ff0a60045560156101010a60ff0a60055560156101000a6101010a600655601560ff0a6101010a60075560156101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_22.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_22.json
new file mode 100644
index 0000000..b7f70e5
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_22.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_22" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_22Filler.json",
+ "sourceHash" : "1864d1e3ce4e858e3fb1df58a1a1c4d395a876587aa0a0fb5928e7043ba577ab"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60166101000a6101000a600055601660ff0a6101000a60015560166101010a6101000a60025560166101000a60ff0a600355601660ff0a60ff0a60045560166101010a60ff0a60055560166101000a6101010a600655601660ff0a6101010a60075560166101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2976",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60166101000a6101000a600055601660ff0a6101000a60015560166101010a6101000a60025560166101000a60ff0a600355601660ff0a60ff0a60045560166101010a60ff0a60055560166101000a6101010a600655601660ff0a6101010a60075560166101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x9ec55c33085514ff7f0000000000000000000000000000000000000000000001",
+ "0x04" : "0xec447e662ac08957d7e290a421dbf54c0aaf43aadc9cc465ad0b02f071ea00ff",
+ "0x05" : "0xdc9178d3bab470096f01477c859b5f4173986640b659426412a653465c1600ff",
+ "0x06" : "0xb68fb921f7aa6aff810000000000000000000000000000000000000000000001",
+ "0x07" : "0xdcf0a770777610503596ae0311af46c171151ed45107d7e7bb8f74bb5bea0101",
+ "0x08" : "0x4d65773387993928c95c861274232d3fb6f6b7fe1b22e4e61a30e71172160101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60166101000a6101000a600055601660ff0a6101000a60015560166101010a6101000a60025560166101000a60ff0a600355601660ff0a60ff0a60045560166101010a60ff0a60055560166101000a6101010a600655601660ff0a6101010a60075560166101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_23.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_23.json
new file mode 100644
index 0000000..a3dd31e
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_23.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_23" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_23Filler.json",
+ "sourceHash" : "59458d1ca0bed9d77cd0c5edbc0e54d38c5ad5a846832a5d376fa40ed33b38a3"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60176101000a6101000a600055601760ff0a6101000a60015560176101010a6101000a60025560176101000a60ff0a600355601760ff0a60ff0a60045560176101010a60ff0a60055560176101000a6101010a600655601760ff0a6101010a60075560176101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d291c",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60176101000a6101000a600055601760ff0a6101000a60015560176101010a6101000a60025560176101000a60ff0a600355601760ff0a60ff0a60045560176101010a60ff0a60055560176101000a6101010a600655601760ff0a6101010a60075560176101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0xc55c33085514ff7f000000000000000000000000000000000000000000000001",
+ "0x04" : "0x537ca0f03f974303005f1e6693b55b72315a166841732e42b8353724a495feff",
+ "0x05" : "0x86418797ec60058de6cca47dfdbee79923ac49d7801e01840041ca76719700ff",
+ "0x06" : "0x8fb921f7aa6aff81000000000000000000000000000000000000000000000001",
+ "0x07" : "0x56a55341ab8d4318f1cfb55d5f21e2ba35d7e070a72bac6b2b21baae5f97ff01",
+ "0x08" : "0x55ddd0ec77909de6d8311116cf520398e816f928b06fdd90ec239d0488970101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60176101000a6101000a600055601760ff0a6101000a60015560176101010a6101000a60025560176101000a60ff0a600355601760ff0a60ff0a60045560176101010a60ff0a60055560176101000a6101010a600655601760ff0a6101010a60075560176101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_24.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_24.json
new file mode 100644
index 0000000..0df6487
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_24.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_24" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_24Filler.json",
+ "sourceHash" : "1b4edb8fa036e53019ae028a7a383b39f742e6bf22bee9e00d94adfc6e68b47b"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60186101000a6101000a600055601860ff0a6101000a60015560186101010a6101000a60025560186101000a60ff0a600355601860ff0a60ff0a60045560186101010a60ff0a60055560186101000a6101010a600655601860ff0a6101010a60075560186101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d28c2",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60186101000a6101000a600055601860ff0a6101000a60015560186101010a6101000a60025560186101000a60ff0a600355601860ff0a60ff0a60045560186101010a60ff0a60055560186101000a6101010a600655601860ff0a6101010a60075560186101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x5c33085514ff7f00000000000000000000000000000000000000000000000001",
+ "0x04" : "0xd542e526003539ead104274aff2d78332366e29d328c2161f0c120731fe800ff",
+ "0x05" : "0xc706cb25e8384ce9bb5c9cb48415238ba03e16c448e292c0a101843b081800ff",
+ "0x06" : "0xb921f7aa6aff8100000000000000000000000000000000000000000000000001",
+ "0x07" : "0x4ca55f89202c524cb0f1cb3195d13c8d94a9f7a05c59e1d4031577c707e80101",
+ "0x08" : "0x8c4b0574e9156b80035f3ecdcf1fe79d273ed7559747a4322bcd338f20180101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60186101000a6101000a600055601860ff0a6101000a60015560186101010a6101000a60025560186101000a60ff0a600355601860ff0a60ff0a60045560186101010a60ff0a60055560186101000a6101010a600655601860ff0a6101010a60075560186101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_25.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_25.json
new file mode 100644
index 0000000..577d6dd
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_25.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_25" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_25Filler.json",
+ "sourceHash" : "891bed4ac0ec9773ed841398658d6003956d9e7a90b3f978cd82bb39950e505e"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60196101000a6101000a600055601960ff0a6101000a60015560196101010a6101000a60025560196101000a60ff0a600355601960ff0a60ff0a60045560196101010a60ff0a60055560196101000a6101010a600655601960ff0a6101010a60075560196101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2868",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60196101000a6101000a600055601960ff0a6101000a60015560196101010a6101000a60025560196101000a60ff0a600355601960ff0a60ff0a60045560196101010a60ff0a60055560196101000a6101010a600655601960ff0a6101010a60075560196101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x33085514ff7f0000000000000000000000000000000000000000000000000001",
+ "0x04" : "0x7f510dd7198cac0a92ff7ea80451838c0dfa12114c41a0ef05907397f897feff",
+ "0x05" : "0x1275e752b6aee228ecba5e9b57ef1111deff3c651e2cfbf2cccd13151f9900ff",
+ "0x06" : "0x21f7aa6aff810000000000000000000000000000000000000000000000000001",
+ "0x07" : "0x6646340ad51a03bb710caf05756b685b33c7dad62ae68d369243700ead99ff01",
+ "0x08" : "0x29d80e8060ef2221929bb18215586c742686d6860e028ca0456b443238990101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60196101000a6101000a600055601960ff0a6101000a60015560196101010a6101000a60025560196101000a60ff0a600355601960ff0a60ff0a60045560196101010a60ff0a60055560196101000a6101010a600655601960ff0a6101010a60075560196101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_26.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_26.json
new file mode 100644
index 0000000..6cb65c0
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_26.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_26" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_26Filler.json",
+ "sourceHash" : "91155b6c8b8046e52ba081d310aeaa31ab62e5efe023791f7fbfc4607820c53b"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x601a6101000a6101000a600055601a60ff0a6101000a600155601a6101010a6101000a600255601a6101000a60ff0a600355601a60ff0a60ff0a600455601a6101010a60ff0a600555601a6101000a6101010a600655601a60ff0a6101010a600755601a6101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d280e",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601a6101000a6101000a600055601a60ff0a6101000a600155601a6101010a6101000a600255601a6101000a60ff0a600355601a60ff0a60ff0a600455601a6101010a60ff0a600555601a6101000a6101010a600655601a60ff0a6101010a600755601a6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x085514ff7f000000000000000000000000000000000000000000000000000001",
+ "0x04" : "0x1d164db738eb6893868b361ad2803f97be35764456e82a837667a693d1e600ff",
+ "0x05" : "0x8b92c24abebf376a5aab5ff4dfd3538a03d38a10bced2aae8e1a8a85b81a00ff",
+ "0x06" : "0xf7aa6aff81000000000000000000000000000000000000000000000000000001",
+ "0x07" : "0x6931bda98c70e860a1f6a5224940f1ec7e6734cd9456c95806384f7cb7e60101",
+ "0x08" : "0x3402a9db66492dfc2a220715e76243469462f24edc56903ba1d8e96ed21a0101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601a6101000a6101000a600055601a60ff0a6101000a600155601a6101010a6101000a600255601a6101000a60ff0a600355601a60ff0a60ff0a600455601a6101010a60ff0a600555601a6101000a6101010a600655601a60ff0a6101010a600755601a6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_27.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_27.json
new file mode 100644
index 0000000..8d986e6
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_27.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_27" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_27Filler.json",
+ "sourceHash" : "4124a4228fdb4337e41c39d033d590cad0f7518e0facbbb94c68ae791773de50"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x601b6101000a6101000a600055601b60ff0a6101000a600155601b6101010a6101000a600255601b6101000a60ff0a600355601b60ff0a60ff0a600455601b6101010a60ff0a600555601b6101000a6101010a600655601b60ff0a6101010a600755601b6101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d27b4",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601b6101000a6101000a600055601b60ff0a6101000a600155601b6101010a6101000a600255601b6101000a60ff0a600355601b60ff0a60ff0a600455601b6101010a60ff0a600555601b6101000a6101010a600655601b60ff0a6101010a600755601b6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x5514ff7f00000000000000000000000000000000000000000000000000000001",
+ "0x04" : "0x178918ffbcb401d4efd2f7dfb4d01a897172267f0f491121ac52dd614899feff",
+ "0x05" : "0x38ecff71480ca0b422f2ed6f780d5fead2ae234a49104b10a86f7f0dd19b00ff",
+ "0x06" : "0xaa6aff8100000000000000000000000000000000000000000000000000000001",
+ "0x07" : "0xd02811cb5dc1d80567e810532b235b7672f5c78cd6e89bb511d5e2d8f79bff01",
+ "0x08" : "0x1b4e6404f474c18055d30bb8987672f59e97980d6f9de1764c0fbec5ec9b0101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601b6101000a6101000a600055601b60ff0a6101000a600155601b6101010a6101000a600255601b6101000a60ff0a600355601b60ff0a60ff0a600455601b6101010a60ff0a600555601b6101000a6101010a600655601b60ff0a6101010a600755601b6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_28.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_28.json
new file mode 100644
index 0000000..c1a6d68
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_28.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_28" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_28Filler.json",
+ "sourceHash" : "fc3550497d4af3b468d464b141fedbbbc7a8d73901226c9b240c67d7441e9a6b"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x601c6101000a6101000a600055601c60ff0a6101000a600155601c6101010a6101000a600255601c6101000a60ff0a600355601c60ff0a60ff0a600455601c6101010a60ff0a600555601c6101000a6101010a600655601c60ff0a6101010a600755601c6101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d275a",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601c6101000a6101000a600055601c60ff0a6101000a600155601c6101010a6101000a600255601c6101000a60ff0a600355601c60ff0a60ff0a600455601c6101010a60ff0a600555601c6101000a6101010a600655601c60ff0a6101010a600755601c6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x14ff7f0000000000000000000000000000000000000000000000000000000001",
+ "0x04" : "0xffd368e44b3f85cb81ae394c9809ca9fa2db46a83d7880a912ab6d4a87e400ff",
+ "0x05" : "0x0981ad53c19b15a94bcf0bf20235dd0da9df25f46ae635029fe2062e6c1c00ff",
+ "0x06" : "0x6aff810000000000000000000000000000000000000000000000000000000001",
+ "0x07" : "0x19df06ffa28250867006726405fbc05d43dc2f9d2f025006db089bd46be40101",
+ "0x08" : "0x243fffe3a4f2982f45055c08f379648ab886da8027a7401117a8e0b8881c0101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601c6101000a6101000a600055601c60ff0a6101000a600155601c6101010a6101000a600255601c6101000a60ff0a600355601c60ff0a60ff0a600455601c6101010a60ff0a600555601c6101000a6101010a600655601c60ff0a6101010a600755601c6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_29.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_29.json
new file mode 100644
index 0000000..6af95f6
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_29.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_29" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_29Filler.json",
+ "sourceHash" : "da93fa671adb7f47f43721827330841e127ee6c2c164a893033777401c02918c"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x601d6101000a6101000a600055601d60ff0a6101000a600155601d6101010a6101000a600255601d6101000a60ff0a600355601d60ff0a60ff0a600455601d6101010a60ff0a600555601d6101000a6101010a600655601d60ff0a6101010a600755601d6101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2700",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601d6101000a6101000a600055601d60ff0a6101000a600155601d6101010a6101000a600255601d6101000a60ff0a600355601d60ff0a60ff0a600455601d6101010a60ff0a600555601d6101000a6101010a600655601d60ff0a6101010a600755601d6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0xff7f000000000000000000000000000000000000000000000000000000000001",
+ "0x04" : "0x41e065d46e0349cfe624c4e8a2034aea1f7edfff80e511cd8067d488949bfeff",
+ "0x05" : "0xa84162ca6675a22c4c79dfc4ea15f760db5a04dbf04246764199b668879d00ff",
+ "0x06" : "0xff81000000000000000000000000000000000000000000000000000000000001",
+ "0x07" : "0x1226984faa6b05ebdbd45d8477fa4fd5b55bfd5061de03c319282b153d9dff01",
+ "0x08" : "0x5cc9e6b0b749fd94541ad00364bdec2fca7816981ca3e38f485decc7a49d0101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601d6101000a6101000a600055601d60ff0a6101000a600155601d6101010a6101000a600255601d6101000a60ff0a600355601d60ff0a60ff0a600455601d6101010a60ff0a600555601d6101000a6101010a600655601d60ff0a6101010a600755601d6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_3.json
new file mode 100644
index 0000000..3b5892d
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_3.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_3" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_3Filler.json",
+ "sourceHash" : "0d353f94476ec586544ac83820f31cc5e0cea23cc0e6430bd63d1646dcf3329c"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60036101000a6101000a600055600360ff0a6101000a60015560036101010a6101000a60025560036101000a60ff0a600355600360ff0a60ff0a60045560036101010a60ff0a60055560036101000a6101010a600655600360ff0a6101010a60075560036101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d3024",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60036101000a6101000a600055600360ff0a6101000a60015560036101010a6101000a60025560036101000a60ff0a600355600360ff0a60ff0a60045560036101010a60ff0a60055560036101000a6101010a600655600360ff0a6101010a60075560036101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x109a00e1370d2d2922bf892e85becb54297354b2e5c75388d514ff7f00000001",
+ "0x04" : "0x54a792f15e9aba7e4ad9e716bc169eea3a6e2e9c49bf9b335874613c8081feff",
+ "0x05" : "0x5d24a14d8e5e039372cd0f6a0f31e9ed6b75adba9f16b1c5b3edd5ba818300ff",
+ "0x06" : "0x298e2f316b4ccded5ebf515998d9ec20df69404b04a441782a6aff8100000001",
+ "0x07" : "0x4335694e98f372183c62a2339fa4ad161e9b4c42240bdc9452abffd07783ff01",
+ "0x08" : "0xf0f0820797315acd063056bba76f6a9c3e281cdb5197a233967ca94684830101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60036101000a6101000a600055600360ff0a6101000a60015560036101010a6101000a60025560036101000a60ff0a600355600360ff0a60ff0a60045560036101010a60ff0a60055560036101000a6101010a600655600360ff0a6101010a60075560036101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_30.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_30.json
new file mode 100644
index 0000000..d203253
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_30.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_30" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_30Filler.json",
+ "sourceHash" : "ba97f0694006de4d647da8fe7145eba478cd208e36d40e1a89835fbfa7a16f4d"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x601e6101000a6101000a600055601e60ff0a6101000a600155601e6101010a6101000a600255601e6101000a60ff0a600355601e60ff0a60ff0a600455601e6101010a60ff0a600555601e6101000a6101010a600655601e60ff0a6101010a600755601e6101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d26a6",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601e6101000a6101000a600055601e60ff0a6101000a600155601e6101010a6101000a600255601e6101000a60ff0a600355601e60ff0a60ff0a600455601e6101010a60ff0a600555601e6101000a6101010a600655601e60ff0a6101010a600755601e6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x7f00000000000000000000000000000000000000000000000000000000000001",
+ "0x04" : "0xe9772778f50fa0a69cd10fa019ac56d72ac7a7d7af26c4ba28415c8f41e200ff",
+ "0x05" : "0x33f0385ef73feebdb952e5adb643dd0fa178fd9271578219ad50a73d241e00ff",
+ "0x06" : "0x8100000000000000000000000000000000000000000000000000000000000001",
+ "0x07" : "0xfd405cce8f73dffc04a6f0ff6ffc6bf7961876d09c5b4933a68f0cc623e20101",
+ "0x08" : "0xc5a8f4566fd2e96e4ce3a8b3ec0863e7b20bc3b2f3dc5261ba8a0174421e0101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601e6101000a6101000a600055601e60ff0a6101000a600155601e6101010a6101000a600255601e6101000a60ff0a600355601e60ff0a60ff0a600455601e6101010a60ff0a600555601e6101000a6101010a600655601e60ff0a6101010a600755601e6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_31.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_31.json
new file mode 100644
index 0000000..b0a530f
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_31.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_31" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_31Filler.json",
+ "sourceHash" : "a9ad8ebc42134fbd70afd66cbd219c91db4c2ebed533b18732e37b95eb66cb51"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x601f6101000a6101000a600055601f60ff0a6101000a600155601f6101010a6101000a600255601f6101000a60ff0a600355601f60ff0a60ff0a600455601f6101010a60ff0a600555601f6101000a6101010a600655601f60ff0a6101010a600755601f6101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d264c",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601f6101000a6101000a600055601f60ff0a6101000a600155601f6101010a6101000a600255601f6101000a60ff0a600355601f60ff0a60ff0a600455601f6101010a60ff0a600555601f6101000a6101010a600655601f60ff0a6101010a600755601f6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x01",
+ "0x04" : "0xf9cb87f5b1ab58602f52a1e9d392e5675b86a59a53943a8d4ec2a915dc9dfeff",
+ "0x05" : "0x893d729a64e318860ec5047e70e598da163eb41e71e74b04dfd4712d419f00ff",
+ "0x06" : "0x01",
+ "0x07" : "0xee5f2839c1b4f6ca05e6fdb04e2fb49c0f860b3765c27dc781a150cb7f9fff01",
+ "0x08" : "0xb4c358e3c6bcddfb509ea487d733df0e1854f29c3b6bfd4a8caabe3f609f0101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601f6101000a6101000a600055601f60ff0a6101000a600155601f6101010a6101000a600255601f6101000a60ff0a600355601f60ff0a60ff0a600455601f6101010a60ff0a600555601f6101000a6101010a600655601f60ff0a6101010a600755601f6101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_32.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_32.json
new file mode 100644
index 0000000..f98383a
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_32.json
@@ -0,0 +1,58 @@
+{
+ "expPowerOf256Of256_32" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_32Filler.json",
+ "sourceHash" : "30079e7074be5e6aedc66360209bdb318504144e2ee9b6cbc153ddd432927ca3"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60206101000a6101000a600055602060ff0a6101000a60015560206101010a6101000a60025560206101000a60ff0a600355602060ff0a60ff0a60045560206101010a60ff0a60055560206101000a6101010a600655602060ff0a6101010a60075560206101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0cef56",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60206101000a6101000a600055602060ff0a6101000a60015560206101010a6101000a60025560206101000a60ff0a600355602060ff0a60ff0a60045560206101010a60ff0a60055560206101000a6101010a600655602060ff0a6101010a60075560206101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01",
+ "0x03" : "0x01",
+ "0x04" : "0xb8247842bb5ce75c08d0c251669ed5870fa24a22952e5db3a7c66c59ffe000ff",
+ "0x05" : "0xee526e5a06f2a990b2bf6c951e5feabf0e07ee16877296e1be872db9e02000ff",
+ "0x06" : "0x01",
+ "0x07" : "0xeda7d024b6de40a9d3b966e71f10a4667edc5b71cab07aeabcac6249dfe00101",
+ "0x08" : "0x512ecfaeeb11205f0833e1054dcb1300488e0954be5af77a49e143aa00200101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60206101000a6101000a600055602060ff0a6101000a60015560206101010a6101000a60025560206101000a60ff0a600355602060ff0a60ff0a60045560206101010a60ff0a60055560206101000a6101010a600655602060ff0a6101010a60075560206101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_33.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_33.json
new file mode 100644
index 0000000..2e1861f
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_33.json
@@ -0,0 +1,58 @@
+{
+ "expPowerOf256Of256_33" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_33Filler.json",
+ "sourceHash" : "309cad197914241d0815b1ea0e5b2fa1b2464bc8f116e8c741be190402362040"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60216101000a6101000a600055602160ff0a6101000a60015560216101010a6101000a60025560216101000a60ff0a600355602160ff0a60ff0a60045560216101010a60ff0a60055560216101000a6101010a600655602160ff0a6101010a60075560216101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0cef56",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60216101000a6101000a600055602160ff0a6101000a60015560216101010a6101000a60025560216101000a60ff0a600355602160ff0a60ff0a60045560216101010a60ff0a60055560216101000a6101010a600655602160ff0a6101010a60075560216101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01",
+ "0x03" : "0x01",
+ "0x04" : "0x8dcb65b5494eba78cd6756a6f9851f6e26d0f2bb9ecd7e9abd7e9b11209ffeff",
+ "0x05" : "0x6694bb31b20cd625f3756897dae6d738f2e64467b5b6f10fa3e07763ffa100ff",
+ "0x06" : "0x01",
+ "0x07" : "0xe678999aeffd1f1f45081f64de7f80ab083dd7df04721ed64ee04c03bda1ff01",
+ "0x08" : "0x39b68fb9898dd7568abd178397251ce8226a25c1d305a4e79573333520a10101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60216101000a6101000a600055602160ff0a6101000a60015560216101010a6101000a60025560216101000a60ff0a600355602160ff0a60ff0a60045560216101010a60ff0a60055560216101000a6101010a600655602160ff0a6101010a60075560216101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_4.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_4.json
new file mode 100644
index 0000000..335c35c
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_4.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_4" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_4Filler.json",
+ "sourceHash" : "15a82b6b15b546d6833940c50fc1a1533d095029771685bbb9d71ce19c9c274d"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60046101000a6101000a600055600460ff0a6101000a60015560046101010a6101000a60025560046101000a60ff0a600355600460ff0a60ff0a60045560046101010a60ff0a60055560046101000a6101010a600655600460ff0a6101010a60075560046101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2fca",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60046101000a6101000a600055600460ff0a6101000a60015560046101010a6101000a60025560046101000a60ff0a600355600460ff0a60ff0a60045560046101010a60ff0a60055560046101000a6101010a600655600460ff0a6101010a60075560046101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0xe6540ce46eaf70da9d644015a661e0e245b13f307cb3885514ff7f0000000001",
+ "0x04" : "0x6526b38b05a6325b80e1c84ab41dc934fd70f33f1bd0eab3d1f61a4707fc00ff",
+ "0x05" : "0xe959516cd27e5d8fd487b72db2989b3ec2ba9fb7ead41554526fe5a3040400ff",
+ "0x06" : "0xe7498a48c6ce2530bbe814ee3440c8c44fffab7ad8a277aa6aff810000000001",
+ "0x07" : "0x2dffa3e901e5a392d15b79f4193d2168147d2aa7c55870b46c3a905d03fc0101",
+ "0x08" : "0xe16ea721c96539edb4f7fb82de0dad8cccb1e7a6966a6777635f6fb908040101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60046101000a6101000a600055600460ff0a6101000a60015560046101010a6101000a60025560046101000a60ff0a600355600460ff0a60ff0a60045560046101010a60ff0a60055560046101000a6101010a600655600460ff0a6101010a60075560046101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_5.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_5.json
new file mode 100644
index 0000000..313b12f
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_5.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_5" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_5Filler.json",
+ "sourceHash" : "4967a3a55893b2fd9b6e6da221dda33b0a051d7bdd1699063c11aff2a0bf8f36"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60056101000a6101000a600055600560ff0a6101000a60015560056101010a6101000a60025560056101000a60ff0a600355600560ff0a60ff0a60045560056101010a60ff0a60055560056101000a6101010a600655600560ff0a6101010a60075560056101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2f70",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60056101000a6101000a600055600560ff0a6101000a60015560056101010a6101000a60025560056101000a60ff0a600355600560ff0a60ff0a60045560056101010a60ff0a60055560056101000a6101010a600655600560ff0a6101010a60075560056101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0xb581ac185aad71db2d177c286929c4c22809e5dcb3085514ff7f000000000001",
+ "0x04" : "0x75789eb2a64bc971389fbd11a1e6d7abbf95ad25e23fb9aa25e73a0bfc83feff",
+ "0x05" : "0xfc403fa42ceb6a0d0d3321bd9b2d8af25b1b667f87a04f496c78168d078500ff",
+ "0x06" : "0xcec5ec213b9cb5811f6ae00428fd7b6ef5a1af39a1f7aa6aff81000000000001",
+ "0x07" : "0x70ab32233202b98d382d17713fa0be391eaf74f85ba1740c9c3238c4ed85ff01",
+ "0x08" : "0xb622672a213faa79b32185ff93a7b27a8499e48f7b032cdb4d1a70300c850101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60056101000a6101000a600055600560ff0a6101000a60015560056101010a6101000a60025560056101000a60ff0a600355600560ff0a60ff0a60045560056101010a60ff0a60055560056101000a6101010a600655600560ff0a6101010a60075560056101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_6.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_6.json
new file mode 100644
index 0000000..7a8a7af
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_6.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_6" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_6Filler.json",
+ "sourceHash" : "7497f803e2e645f97ecb3019988f5dc7ab846b674d269152e757748253ba76ed"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60066101000a6101000a600055600660ff0a6101000a60015560066101010a6101000a60025560066101000a60ff0a600355600660ff0a60ff0a60045560066101010a60ff0a60055560066101000a6101010a600655600660ff0a6101010a60075560066101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2f16",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60066101000a6101000a600055600660ff0a6101000a60015560066101010a6101000a60025560066101000a60ff0a600355600660ff0a60ff0a60045560066101010a60ff0a60055560066101000a6101010a600655600660ff0a6101010a60075560066101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x1948059de1def03c4ec35fc22c2bb8f2bf45dc33085514ff7f00000000000001",
+ "0x04" : "0x41f818a8e24eb6d7bb7b193b4f2b5fdcf4bd0d453f2ac3499d8830d391fa00ff",
+ "0x05" : "0xede6fe4a943dfb5d967a2b85d6728759d40d2ef0ae4bc28bbb1867f98c0600ff",
+ "0x06" : "0x083c936cbaad5de592badc2e142fe4ebd6103921f7aa6aff8100000000000001",
+ "0x07" : "0x57385019fe4e0939ca3f35c37cadfaf52fba5b1cdfb02def3866e8068bfa0101",
+ "0x08" : "0x810ac878bd98428f6be8c6426ba9f9da09e3e33bf4fe10bfa3f8b12c92060101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60066101000a6101000a600055600660ff0a6101000a60015560066101010a6101000a60025560066101000a60ff0a600355600660ff0a60ff0a60045560066101010a60ff0a60055560066101000a6101010a600655600660ff0a6101010a60075560066101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_7.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_7.json
new file mode 100644
index 0000000..d624720
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_7.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_7" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_7Filler.json",
+ "sourceHash" : "23ef683bd7f691f313e4d06529abe5763067a61fa1ecc5734f1d828b3220ba58"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60076101000a6101000a600055600760ff0a6101000a60015560076101010a6101000a60025560076101000a60ff0a600355600760ff0a60ff0a60045560076101010a60ff0a60055560076101000a6101010a600655600760ff0a6101010a60075560076101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2ebc",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60076101000a6101000a600055600760ff0a6101000a60015560076101010a6101000a60025560076101000a60ff0a600355600760ff0a60ff0a60045560076101010a60ff0a60055560076101000a6101010a600655600760ff0a6101010a60075560076101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x8bb02654111ad8c60ad8af132283a81f455c33085514ff7f0000000000000001",
+ "0x04" : "0xa8f75c129dbb8466d6703a2a0b8212131b3248d70e2478862ac40fe17485feff",
+ "0x05" : "0x5fd4d2de580383ee59f5e800ddb3f1717ceae03aede19d3dec5e5a69918700ff",
+ "0x06" : "0xc8624230b524b85d6340da48a5db20370fb921f7aa6aff810000000000000001",
+ "0x07" : "0x287b58a5a13cd7f454468ca616c181712f5ed25433a7d5a894b6ced35f87ff01",
+ "0x08" : "0x09930d11ac2804fa977bf951593c8dff8498779cc0cdc5812a4fba2f98870101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60076101000a6101000a600055600760ff0a6101000a60015560076101010a6101000a60025560076101000a60ff0a600355600760ff0a60ff0a60045560076101010a60ff0a60055560076101000a6101010a600655600760ff0a6101010a60075560076101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_8.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_8.json
new file mode 100644
index 0000000..4af8b2b
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_8.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_8" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_8Filler.json",
+ "sourceHash" : "8c79d62d4acf560639430ce984929eef7a3577f5356197021b759e02462b212d"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x05f5e100",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60086101000a6101000a600055600860ff0a6101000a60015560086101010a6101000a60025560086101000a60ff0a600355600860ff0a60ff0a60045560086101010a60ff0a60055560086101000a6101010a600655600860ff0a6101010a60075560086101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x989680",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9682a2",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60086101000a6101000a600055600860ff0a6101000a60015560086101010a6101000a60025560086101000a60ff0a600355600860ff0a60ff0a60045560086101010a60ff0a60055560086101000a6101010a600655600860ff0a6101010a60075560086101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x230041a0e7602d6e459609ed39081ec55c33085514ff7f000000000000000001",
+ "0x04" : "0xc407d8a413ef9079ead457ed686a05ac81039c0cae0a7f6afd01e8461ff800ff",
+ "0x05" : "0x67a397e0692385e4cd83853aabce220a94d449e885fa867e96d3ef5e180800ff",
+ "0x06" : "0x70add926e753655d6d0ebe9c0f81368fb921f7aa6aff81000000000000000001",
+ "0x07" : "0x0bdce80b8378e43f13d454b9d0a4c83cf311b8eaa45d5122cfd544a217f80101",
+ "0x08" : "0x629c25790e1488998877a9ecdf0fb69637e77d8a4bdc1b46270093ba20080101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60086101000a6101000a600055600860ff0a6101000a60015560086101010a6101000a60025560086101000a60ff0a600355600860ff0a60ff0a60045560086101010a60ff0a60055560086101000a6101010a600655600860ff0a6101010a60075560086101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_9.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_9.json
new file mode 100644
index 0000000..f72be30
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_9.json
@@ -0,0 +1,57 @@
+{
+ "expPowerOf256Of256_9" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_9Filler.json",
+ "sourceHash" : "ea1320eababf69ee5d14ea77f0f53127aefd12503de3a546cd6bc9d670bc9ae0"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60096101000a6101000a600055600960ff0a6101000a60015560096101010a6101000a60025560096101000a60ff0a600355600960ff0a60ff0a60045560096101010a60ff0a60055560096101000a6101010a600655600960ff0a6101010a60075560096101010a6101010a60085500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0d2e08",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60096101000a6101000a600055600960ff0a6101000a60015560096101010a6101000a60025560096101000a60ff0a600355600960ff0a60ff0a60045560096101010a60ff0a60055560096101000a6101010a600655600960ff0a6101010a60075560096101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x03" : "0x53017d8eb210db2c8cd4a299079ec55c33085514ff7f00000000000000000001",
+ "0x04" : "0x48be09b6c6ae2aa660f1972125cecbb1038b5d236ecf766ba786e2c4e887feff",
+ "0x05" : "0x2e350d847ba73dc2099f83f532951c47269d9fd7e411b50bae00a9581f8900ff",
+ "0x06" : "0x013ab9e1f0df89a184b4d07080b68fb921f7aa6aff8100000000000000000001",
+ "0x07" : "0xf387ed41c1050f9da667f429a3e8fb30b61a55ede97d7b8acd797a03cd89ff01",
+ "0x08" : "0x525696c22bb3ce00fd2e3f6bbb9b4ea1046a5e31fcff2fedf8f8c74d28890101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60096101000a6101000a600055600960ff0a6101000a60015560096101010a6101000a60025560096101000a60ff0a600355600960ff0a60ff0a60045560096101010a60ff0a60055560096101000a6101010a600655600960ff0a6101010a60075560096101010a6101010a60085500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_1.json
new file mode 100644
index 0000000..60a0cec
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_1.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_1" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_1Filler.json",
+ "sourceHash" : "de200a852de2dfbaac6a4e35abf6fab59cdfbab1f56aafd1eb93f0ad9211c199"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60016101000a600055600160ff0a60015560016101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60016101000a600055600160ff0a60015560016101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x0100",
+ "0x01" : "0xff",
+ "0x02" : "0x0101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60016101000a600055600160ff0a60015560016101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_10.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_10.json
new file mode 100644
index 0000000..30379fe
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_10.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_10" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_10Filler.json",
+ "sourceHash" : "a5f6ad115b0e5cc14f7fcb151979f37159b21fef3196dcc3a5be664beac7bd3b"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600a6101000a600055600a60ff0a600155600a6101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600a6101000a600055600a60ff0a600155600a6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x0100000000000000000000",
+ "0x01" : "0xf62c88d104d1882cf601",
+ "0x02" : "0x010a2d78d2fcd2782d0a01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600a6101000a600055600a60ff0a600155600a6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_11.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_11.json
new file mode 100644
index 0000000..405e445
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_11.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_11" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_11Filler.json",
+ "sourceHash" : "750c0ce20e9774d1d3b4b5055465594124e7c51bb855a5db5a8fd9477a861eb4"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600b6101000a600055600b60ff0a600155600b6101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600b6101000a600055600b60ff0a600155600b6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x010000000000000000000000",
+ "0x01" : "0xf5365c4833ccb6a4c90aff",
+ "0x02" : "0x010b37a64bcfcf4aa5370b01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600b6101000a600055600b60ff0a600155600b6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_12.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_12.json
new file mode 100644
index 0000000..dac6091
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_12.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_12" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_12Filler.json",
+ "sourceHash" : "b8813a9195391cea0c4941867086f2c92204c8fc2575caba6f3cc8880952a575"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600c6101000a600055600c60ff0a600155600c6101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600c6101000a600055600c60ff0a600155600c6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01000000000000000000000000",
+ "0x01" : "0xf44125ebeb98e9ee2441f401",
+ "0x02" : "0x010c42ddf21b9f19efdc420c01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600c6101000a600055600c60ff0a600155600c6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_13.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_13.json
new file mode 100644
index 0000000..e9b32a5
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_13.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_13" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_13Filler.json",
+ "sourceHash" : "8b548b89731e9f599b3cf42b68fc8c3a1bafa04ca653778dd8681f60d92dc753"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600d6101000a600055600d60ff0a600155600d6101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600d6101000a600055600d60ff0a600155600d6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x0100000000000000000000000000",
+ "0x01" : "0xf34ce4c5ffad5104361db20cff",
+ "0x02" : "0x010d4f20d00dbab909cc1e4e0d01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600d6101000a600055600d60ff0a600155600d6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_14.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_14.json
new file mode 100644
index 0000000..6ac923a
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_14.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_14" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_14Filler.json",
+ "sourceHash" : "252ecd5c07a7e59256c7c8b66ed2f29c562cb7d7e6f56359781610fc35bd1751"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600e6101000a600055600e60ff0a600155600e6101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600e6101000a600055600e60ff0a600155600e6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x010000000000000000000000000000",
+ "0x01" : "0xf25997e139ada3b331e7945af201",
+ "0x02" : "0x010e5c6ff0ddc873c2d5ea6c5b0e01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600e6101000a600055600e60ff0a600155600e6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_15.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_15.json
new file mode 100644
index 0000000..bfcbb61
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_15.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_15" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_15Filler.json",
+ "sourceHash" : "576a6d206883b66c0753ac1a235660570333ccee3a62afb421f673904f775898"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600f6101000a600055600f60ff0a600155600f6101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600f6101000a600055600f60ff0a600155600f6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01000000000000000000000000000000",
+ "0x01" : "0xf1673e495873f60f7eb5acc6970eff",
+ "0x02" : "0x010f6acc60cea63c3698c056c7690f01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600f6101000a600055600f60ff0a600155600f6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_16.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_16.json
new file mode 100644
index 0000000..0e0ca03
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_16.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_16" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_16Filler.json",
+ "sourceHash" : "8b074bb315aa1b0f46b4416aa4301cbbffbaede7a8202e8702ccedfbca73fd73"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60106101000a600055601060ff0a60015560106101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60106101000a600055601060ff0a60015560106101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x0100000000000000000000000000000000",
+ "0x01" : "0xf075d70b0f1b82196f36f719d077f001",
+ "0x02" : "0x01107a372d2f74e272cf59171e30781001"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60106101000a600055601060ff0a60015560106101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_17.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_17.json
new file mode 100644
index 0000000..ab8e55e
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_17.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_17" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_17Filler.json",
+ "sourceHash" : "d772fddba0f91da85cf35303b885deb7397aeb2e99e0c3b9e365ac9e71b1556c"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60116101000a600055601160ff0a60015560116101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60116101000a600055601160ff0a60015560116101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x010000000000000000000000000000000000",
+ "0x01" : "0xef856134040c669755c7c022b6a77810ff",
+ "0x02" : "0x01118ab1645ca45755422870354ea8881101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60116101000a600055601160ff0a60015560116101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_18.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_18.json
new file mode 100644
index 0000000..5027bdd
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_18.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_18" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_18Filler.json",
+ "sourceHash" : "49d9c97f7ce0b19b85d219070d95ef1ed20ff601e25924da37c231823b579480"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60126101000a600055601260ff0a60015560126101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60126101000a600055601260ff0a60015560126101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01000000000000000000000000000000000000",
+ "0x01" : "0xee95dbd2d0085a30be71f86293f0d098ee01",
+ "0x02" : "0x01129c3c15c100fbac976a98a583f730991201"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60126101000a600055601260ff0a60015560126101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_19.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_19.json
new file mode 100644
index 0000000..2a0e2e3
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_19.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_19" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_19Filler.json",
+ "sourceHash" : "2213de8f9ea8c77efb75af5ddec5bc5fff71006a638b206dc8cfc21c66b9b367"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60136101000a600055601360ff0a60015560136101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60136101000a600055601360ff0a60015560136101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x0100000000000000000000000000000000000000",
+ "0x01" : "0xeda745f6fd3851d68db3866a315cdfc85512ff",
+ "0x02" : "0x0113aed851d6c1fca84402033e297b27c9ab1301"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60136101000a600055601360ff0a60015560136101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_2.json
new file mode 100644
index 0000000..0337338
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_2.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_2" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_2Filler.json",
+ "sourceHash" : "7ce8b4f97c9f57b553b98d9320cf84756dc1358e6d0dd098450956e04154c0a7"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60026101000a600055600260ff0a60015560026101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60026101000a600055600260ff0a60015560026101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x010000",
+ "0x01" : "0xfe01",
+ "0x02" : "0x010201"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60026101000a600055600260ff0a60015560026101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_20.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_20.json
new file mode 100644
index 0000000..130ca88
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_20.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_20" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_20Filler.json",
+ "sourceHash" : "b53925ba5aec61185132c26e5834b604c48ef1317409d5e869dfc4d5989f168f"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60146101000a600055601460ff0a60015560146101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60146101000a600055601460ff0a60015560146101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x010000000000000000000000000000000000000000",
+ "0x01" : "0xecb99eb1063b1984b725d2e3c72b82e88cbdec01",
+ "0x02" : "0x0114c2872a2898bea4ec46054167a4a2f174be1401"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60146101000a600055601460ff0a60015560146101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_21.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_21.json
new file mode 100644
index 0000000..717b1cc
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_21.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_21" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_21Filler.json",
+ "sourceHash" : "b4b00dd3d13610cebe2b263e8ee6727169cbd18034677ef5459cf1ecdc7c6214"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60156101000a600055601560ff0a60015560156101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60156101000a600055601560ff0a60015560156101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01000000000000000000000000000000000000000000",
+ "0x01" : "0xebcce5125534de6b326ead10e3645765a4312e14ff",
+ "0x02" : "0x0115d749b152c1576391324b46a90c47946632d21501"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60156101000a600055601560ff0a60015560156101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_22.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_22.json
new file mode 100644
index 0000000..4994bf9
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_22.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_22" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_22Filler.json",
+ "sourceHash" : "f84389a4f288f4674ead15f28d20332b59a2956ecab2ff4337ffc77556be099d"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60166101000a600055601660ff0a60015560166101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60166101000a600055601660ff0a60015560166101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x0100000000000000000000000000000000000000000000",
+ "0x01" : "0xeae1182d42dfa98cc73c3e63d280f30e3e8cfce6ea01",
+ "0x02" : "0x0116ed20fb041418baf4c37d91efb553dbfa9904e71601"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60166101000a600055601660ff0a60015560166101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_23.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_23.json
new file mode 100644
index 0000000..7bbc509
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_23.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_23" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_23Filler.json",
+ "sourceHash" : "ce5a9459e37b77bfdf80616a48d195cac5a94717e7123050ce16d68e37ff1df5"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60176101000a600055601760ff0a60015560176101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60176101000a600055601760ff0a60015560176101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x010000000000000000000000000000000000000000000000",
+ "0x01" : "0xe9f63715159cc9e33a7502256eae721b304e6fea0316ff",
+ "0x02" : "0x0118040e1bff182cd3afb8410f81a5092fd6939debfd1701"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60176101000a600055601760ff0a60015560176101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_24.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_24.json
new file mode 100644
index 0000000..ee63c51
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_24.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_24" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_24Filler.json",
+ "sourceHash" : "8200490cec84b037bcf95dbceaf9538a821b40fd9124c747e17e3a8a5184062a"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60186101000a600055601860ff0a60015560186101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60186101000a600055601860ff0a60015560186101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01000000000000000000000000000000000000000000000000",
+ "0x01" : "0xe90c40de00872d19573a8d23493fc3a9151e217a1913e801",
+ "0x02" : "0x01191c122a1b1745008367f9509126ae39066a3189e9141801"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60186101000a600055601860ff0a60015560186101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_25.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_25.json
new file mode 100644
index 0000000..c545819
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_25.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_25" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_25Filler.json",
+ "sourceHash" : "627d87597785de41f0447b005d97ed20e9b584467d785b7608c26e9a2bdc88b9"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60196101000a600055601960ff0a60015560196101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60196101000a600055601960ff0a60015560196101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x0100000000000000000000000000000000000000000000000000",
+ "0x01" : "0xe823349d2286a5ec3de3529625f683e56c0903589efad418ff",
+ "0x02" : "0x011a352e3c45325c4583eb6149e1b7d4e73f709bbb72fd2c1901"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60196101000a600055601960ff0a60015560196101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_26.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_26.json
new file mode 100644
index 0000000..383e091
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_26.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_26" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_26Filler.json",
+ "sourceHash" : "4f7633e34c6fefc4711ba4c04fa2f839b386768045d24418778e45478ef16493"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x601a6101000a600055601a60ff0a600155601a6101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601a6101000a600055601a60ff0a600155601a6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x010000000000000000000000000000000000000000000000000000",
+ "0x01" : "0xe73b116885641f4651a56f438fd08d61869cfa55465bd944e601",
+ "0x02" : "0x011b4f636a81778ea1c96f4cab2b998cbc26b00c572e7029451a01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601a6101000a600055601a60ff0a600155601a6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_27.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_27.json
new file mode 100644
index 0000000..9b4ccdc
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_27.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_27" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_27Filler.json",
+ "sourceHash" : "af32e47342d5698c6f7ce4928d6f1079fea24a7c6d2862247aa8bc4414958374"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x601b6101000a600055601b60ff0a600155601b6101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601b6101000a600055601b60ff0a600155601b6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01000000000000000000000000000000000000000000000000000000",
+ "0x01" : "0xe653d6571cdebb270b53c9d44c40bcd425165d5af1157d6ba11aff",
+ "0x02" : "0x011c6ab2cdebf906306b38bbf7d6c52648e2d6bc63859e996e5f1b01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601b6101000a600055601b60ff0a600155601b6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_28.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_28.json
new file mode 100644
index 0000000..80bbe4c
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_28.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_28" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_28Filler.json",
+ "sourceHash" : "e1d290fe5e09e9cb260682dc5f807b1d428da4be9794b0fe4ae9e3f17357d067"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x601c6101000a600055601c60ff0a600155601c6101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601c6101000a600055601c60ff0a600155601c6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x0100000000000000000000000000000000000000000000000000000000",
+ "0x01" : "0xe56d8280c5c1dc6be448760a77f47c1750f146fd962467ee3579e401",
+ "0x02" : "0x011d871d80b9e4ff369ba3f4b3ce9beb6f2bb9931fe9243807cd7a1c01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601c6101000a600055601c60ff0a600155601c6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_29.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_29.json
new file mode 100644
index 0000000..41d6a16
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_29.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_29" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_29Filler.json",
+ "sourceHash" : "aab7c1998ef58da5855fa08942514970490212dae158ac6d36c74053f0ef17f1"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x601d6101000a600055601d60ff0a600155601d6101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601d6101000a600055601d60ff0a600155601d6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x010000000000000000000000000000000000000000000000000000000000",
+ "0x01" : "0xe48814fe44fc1a8f78642d946d7c879b39a055b6988e438647446a1cff",
+ "0x02" : "0x011ea4a49e3a9ee435d23f98a8826a875a9ae54cb3090d5c3fd547961d01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601d6101000a600055601d60ff0a600155601d6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_3.json
new file mode 100644
index 0000000..9c4b408
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_3.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_3" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_3Filler.json",
+ "sourceHash" : "74e1aacf88f267687e5334fb452ee5e35fa3ac8dcadba20eca4a518476cb3ff6"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60036101000a600055600360ff0a60015560036101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60036101000a600055600360ff0a60015560036101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01000000",
+ "0x01" : "0xfd02ff",
+ "0x02" : "0x01030301"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60036101000a600055600360ff0a60015560036101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_30.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_30.json
new file mode 100644
index 0000000..aeca823
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_30.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_30" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_30Filler.json",
+ "sourceHash" : "c5cc110bd1fce5c0f37e2a140bb3099da0eabc7b933aca218c12c1d3db184d7f"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x601e6101000a600055601e60ff0a600155601e6101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601e6101000a600055601e60ff0a600155601e6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01000000000000000000000000000000000000000000000000000000000000",
+ "0x01" : "0xe3a38ce946b71e74e8ebc966d90f0b139e66b560e1f5b542c0fd25b2e201",
+ "0x02" : "0x011fc34942d8d9831a0811d8412aecf1e1f58031ffbc16699c151cddb31e01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601e6101000a600055601e60ff0a600155601e6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_31.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_31.json
new file mode 100644
index 0000000..38cc113
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_31.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_31" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_31Filler.json",
+ "sourceHash" : "e577b3bbc19133fb1afad9f98f313360c86059f7f88c74f70b5210d794b63876"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x601f6101000a600055601f60ff0a600155601f6101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601f6101000a600055601f60ff0a600155601f6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x0100000000000000000000000000000000000000000000000000000000000000",
+ "0x01" : "0xe2bfe95c5d7067567402dd9d7235fc088ac84eab8113bf8d7e3c288d2f1eff",
+ "0x02" : "0x0120e30c8c1bb25c9d2219ea196c17ded3d775b231bbd28005b131fa90d11f01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601f6101000a600055601f60ff0a600155601f6101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_32.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_32.json
new file mode 100644
index 0000000..826dd08
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_32.json
@@ -0,0 +1,53 @@
+{
+ "expPowerOf256_32" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_32Filler.json",
+ "sourceHash" : "5ea6e201e47556ddbae65e9a87171ac9728a2508943bf1c5a52c23be309f9332"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60206101000a600055602060ff0a60015560206101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0xd681",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60206101000a600055602060ff0a60015560206101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0xe1dd29730112f6ef1d8edabfd4c3c60c823d865cd592abcdf0bdec64a1efe001",
+ "0x02" : "0x2203ef98a7ce0ef9bf3c04038583f6b2ab4d27e3ed8e5285b6e32c8b61f02001"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60206101000a600055602060ff0a60015560206101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_33.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_33.json
new file mode 100644
index 0000000..e05f526
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_33.json
@@ -0,0 +1,53 @@
+{
+ "expPowerOf256_33" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_33Filler.json",
+ "sourceHash" : "1494bc54e86ba54ff18703713f1acd013483f783576240696987d01ff50b3544"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60216101000a600055602160ff0a60015560216101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0xd681",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60216101000a600055602160ff0a60015560216101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0xfb4c498e11e3f82e714be514ef024675bb48d678bd192222cd2e783d4df020ff",
+ "0x02" : "0x25f3884075dd08b8fb400789097aa95df8750bd17be0d83c9a0fb7ed52102101"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60216101000a600055602160ff0a60015560216101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_4.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_4.json
new file mode 100644
index 0000000..2c52b77
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_4.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_4" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_4Filler.json",
+ "sourceHash" : "8f3cdfeeea8c2034d13c9a022172f2037da0bd6ade17b7ae7f8f3df305f4a4df"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60046101000a600055600460ff0a60015560046101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60046101000a600055600460ff0a60015560046101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x0100000000",
+ "0x01" : "0xfc05fc01",
+ "0x02" : "0x0104060401"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60046101000a600055600460ff0a60015560046101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_5.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_5.json
new file mode 100644
index 0000000..e27faeb
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_5.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_5" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_5Filler.json",
+ "sourceHash" : "6c9b87e9fca151921c92654a3d368c401965a0641eee8790af7d8aab27271ed3"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60056101000a600055600560ff0a60015560056101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60056101000a600055600560ff0a60015560056101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x010000000000",
+ "0x01" : "0xfb09f604ff",
+ "0x02" : "0x01050a0a0501"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60056101000a600055600560ff0a60015560056101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_6.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_6.json
new file mode 100644
index 0000000..8b12c3d
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_6.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_6" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_6Filler.json",
+ "sourceHash" : "c1335415fa09bfe0c536fd145facd7950bd936f99b2f126a762d5e4f612b4ea8"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60066101000a600055600660ff0a60015560066101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60066101000a600055600660ff0a60015560066101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01000000000000",
+ "0x01" : "0xfa0eec0efa01",
+ "0x02" : "0x01060f140f0601"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60066101000a600055600660ff0a60015560066101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_7.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_7.json
new file mode 100644
index 0000000..c5d96de
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_7.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_7" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_7Filler.json",
+ "sourceHash" : "ba2a01ee3ba65a9e222e5652086878ab320acd4dba34e66f840c11d13724cbfd"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60076101000a600055600760ff0a60015560076101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60076101000a600055600760ff0a60015560076101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x0100000000000000",
+ "0x01" : "0xf914dd22eb06ff",
+ "0x02" : "0x0107152323150701"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60076101000a600055600760ff0a60015560076101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_8.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_8.json
new file mode 100644
index 0000000..6299db2
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_8.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_8" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_8Filler.json",
+ "sourceHash" : "391f374398dd4aa154138f57653bec76a8726d9d78d99a64920d5a47bb80adb1"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60086101000a600055600860ff0a60015560086101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60086101000a600055600860ff0a60015560086101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x010000000000000000",
+ "0x01" : "0xf81bc845c81bf801",
+ "0x02" : "0x01081c3846381c0801"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60086101000a600055600860ff0a60015560086101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_9.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_9.json
new file mode 100644
index 0000000..18e81c6
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_9.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf256_9" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_9Filler.json",
+ "sourceHash" : "c8a2461186fc91d1e5b1493b97c9cbb6e1a0e481f079497ea382cb6dbe5db68b"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60096101000a600055600960ff0a60015560096101010a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60096101000a600055600960ff0a60015560096101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01000000000000000000",
+ "0x01" : "0xf723ac7d8253dc08ff",
+ "0x02" : "0x010924547e7e54240901"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60096101000a600055600960ff0a60015560096101010a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_128.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_128.json
new file mode 100644
index 0000000..468b33c
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_128.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf2_128" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf2_128Filler.json",
+ "sourceHash" : "c4b7fece1f07c9e2caf32917c268ed7e1d5c97aac1396233aa39417dde0436a4"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x608060020a600055607f60020a600155608160020a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x608060020a600055607f60020a600155608160020a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x0100000000000000000000000000000000",
+ "0x01" : "0x80000000000000000000000000000000",
+ "0x02" : "0x0200000000000000000000000000000000"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x608060020a600055607f60020a600155608160020a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_16.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_16.json
new file mode 100644
index 0000000..2218345
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_16.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf2_16" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf2_16Filler.json",
+ "sourceHash" : "d3803eed18feefc037cff2b9901c3ab2b8eb0e56084d8deef4e1920aa57efb05"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x601060020a600055600f60020a600155601160020a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601060020a600055600f60020a600155601160020a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x010000",
+ "0x01" : "0x8000",
+ "0x02" : "0x020000"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601060020a600055600f60020a600155601160020a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_2.json
new file mode 100644
index 0000000..524b3ca
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_2.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf2_2" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf2_2Filler.json",
+ "sourceHash" : "64c40e17a200ba9dcebcd1439eec14cefa618a32034272caef68389ee94ea879"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600260020a600055600160020a600155600360020a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600260020a600055600160020a600155600360020a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x04",
+ "0x01" : "0x02",
+ "0x02" : "0x08"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600260020a600055600160020a600155600360020a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_256.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_256.json
new file mode 100644
index 0000000..0e24567
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_256.json
@@ -0,0 +1,52 @@
+{
+ "expPowerOf2_256" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf2_256Filler.json",
+ "sourceHash" : "3b9441d6c88dc669849775f4cada0ba363b088247614be54ea153c7cb1a98288"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x61010060020a60005560ff60020a60015561010160020a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x011105",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x61010060020a60005560ff60020a60015561010160020a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x01" : "0x8000000000000000000000000000000000000000000000000000000000000000"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x61010060020a60005560ff60020a60015561010160020a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_32.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_32.json
new file mode 100644
index 0000000..43370b0
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_32.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf2_32" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf2_32Filler.json",
+ "sourceHash" : "9b06ea4361a7de72602e3d016e002a56075d50bc543526e1602164d6fd7f637a"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x602060020a600055601f60020a600155602160020a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x602060020a600055601f60020a600155602160020a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x0100000000",
+ "0x01" : "0x80000000",
+ "0x02" : "0x0200000000"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x602060020a600055601f60020a600155602160020a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_4.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_4.json
new file mode 100644
index 0000000..f1022cc
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_4.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf2_4" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf2_4Filler.json",
+ "sourceHash" : "2170fba75e0439a77e1185b6467eeb8a01522767f0cc0cf6300be400dc3d90c0"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600460020a600055600360020a600155600560020a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600460020a600055600360020a600155600560020a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x10",
+ "0x01" : "0x08",
+ "0x02" : "0x20"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600460020a600055600360020a600155600560020a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_64.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_64.json
new file mode 100644
index 0000000..01df77b
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_64.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf2_64" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf2_64Filler.json",
+ "sourceHash" : "e99750312fd4025607c147b0eef21930f8db8ad01ed0bdbec53cf95d2bec199d"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x604060020a600055603f60020a600155604160020a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x604060020a600055603f60020a600155604160020a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x010000000000000000",
+ "0x01" : "0x8000000000000000",
+ "0x02" : "0x020000000000000000"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x604060020a600055603f60020a600155604160020a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_8.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_8.json
new file mode 100644
index 0000000..9a1a934
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_8.json
@@ -0,0 +1,54 @@
+{
+ "expPowerOf2_8" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf2_8Filler.json",
+ "sourceHash" : "9a21dd4b92dc8fe6916a62480050741b40d02eacdc42aa62c583a4ee858dc349"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600860020a600055600760020a600155600960020a60025500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9be9",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600860020a600055600760020a600155600960020a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x0100",
+ "0x01" : "0x80",
+ "0x02" : "0x0200"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600860020a600055600760020a600155600960020a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expXY.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expXY.json
new file mode 100644
index 0000000..f54cacb
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expXY.json
@@ -0,0 +1,53 @@
+{
+ "expXY" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expXYFiller.json",
+ "sourceHash" : "bb4205cb21d1b4a6b98876c33b99f511da2e823c44d16d97868659d7f9c31175"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6000356000556020356001556001546000540a60025500",
+ "data" : "0x0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000100000000000f",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0xd609",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6000356000556020356001556001546000540a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x02",
+ "0x01" : "0x0100000000000f"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6000356000556020356001556001546000540a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expXY_success.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expXY_success.json
new file mode 100644
index 0000000..21e17ee
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expXY_success.json
@@ -0,0 +1,54 @@
+{
+ "expXY_success" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/expXY_successFiller.json",
+ "sourceHash" : "91b327b216f5456a020cab1fbac6d7e380357513402cdc413227ba2f1143e3da"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6000356000556020356001556001546000540a60025500",
+ "data" : "0x0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000f",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x9bad",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6000356000556020356001556001546000540a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x02",
+ "0x01" : "0x0f",
+ "0x02" : "0x8000"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6000356000556020356001556001546000540a60025500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/fibbonacci_unrolled.json b/evm/src/test/resources/VMTests/vmArithmeticTest/fibbonacci_unrolled.json
new file mode 100644
index 0000000..d00b3fb
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/fibbonacci_unrolled.json
@@ -0,0 +1,51 @@
+{
+ "fibbonacci_unrolled" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/fibbonacci_unrolledFiller.json",
+ "sourceHash" : "b3247041f821f21ce3b8c1fc6e22aba7ab2e57fb8d3e011bcdbe030899cf66c3"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6001600181810181810181810181810181810181810181810181810181810181810181810181810181810181810181810181810181810160005260206000f300",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0f4192",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x0000000000000000000000000000000000000000000000000000000000001055",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6001600181810181810181810181810181810181810181810181810181810181810181810181810181810181810181810181810181810160005260206000f300",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6001600181810181810181810181810181810181810181810181810181810181810181810181810181810181810181810181810181810160005260206000f300",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mod0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mod0.json
new file mode 100644
index 0000000..d624d5e
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mod0.json
@@ -0,0 +1,52 @@
+{
+ "mod0" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mod0Filler.json",
+ "sourceHash" : "7a631d7f6ff9c33a639a9e90bbfea9083db365a9cf21494db3f19ba2fdbaa190"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600360020660005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013872",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600360020660005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x02"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600360020660005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mod1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mod1.json
new file mode 100644
index 0000000..cf72742
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mod1.json
@@ -0,0 +1,52 @@
+{
+ "mod1" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mod1Filler.json",
+ "sourceHash" : "467f2675314a5c8a4949184635b0fc884abd347a6d9bd49ffa02aa6e2e6c183b"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0660005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013872",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0660005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0660005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mod2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mod2.json
new file mode 100644
index 0000000..ca888d5
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mod2.json
@@ -0,0 +1,51 @@
+{
+ "mod2" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mod2Filler.json",
+ "sourceHash" : "9a7cfc5829e8327636ee6e00d0b5492955ee0f2f47666e79a8ecc3cb43105fb2"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000660005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01730a",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000660005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000660005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mod3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mod3.json
new file mode 100644
index 0000000..54b9f42
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mod3.json
@@ -0,0 +1,51 @@
+{
+ "mod3" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mod3Filler.json",
+ "sourceHash" : "498dea5857ceef54c57407276175ba60b9fd81d899e30e84e2d222309b8312d7"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600060030660005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01730a",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600060030660005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600060030660005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mod4.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mod4.json
new file mode 100644
index 0000000..4ab4bff
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mod4.json
@@ -0,0 +1,52 @@
+{
+ "mod4" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mod4Filler.json",
+ "sourceHash" : "6ba6f1a4ed330cec514a9b19426dc52f733e73316c07e523a310dc96057bfdde"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600360026000030660005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01386c",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600360026000030660005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x02"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600360026000030660005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/modByZero.json b/evm/src/test/resources/VMTests/vmArithmeticTest/modByZero.json
new file mode 100644
index 0000000..f84f12f
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/modByZero.json
@@ -0,0 +1,52 @@
+{
+ "modByZero" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/modByZeroFiller.json",
+ "sourceHash" : "82ef7e54944985d4c5d7fffb610e131ef6407d729d7ab6b8d94a161b99f2a112"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600160006003060360005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01386c",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600160006003060360005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600160006003060360005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mul0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mul0.json
new file mode 100644
index 0000000..5cbdca9
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mul0.json
@@ -0,0 +1,52 @@
+{
+ "mul0" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mul0Filler.json",
+ "sourceHash" : "c723c8fc23b8b848cf7f7786bf4f402541c7ba927742d5b51f2cdef3e2062cee"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600360020260005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013872",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600360020260005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x06"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600360020260005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mul1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mul1.json
new file mode 100644
index 0000000..23e43fa
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mul1.json
@@ -0,0 +1,52 @@
+{
+ "mul1" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mul1Filler.json",
+ "sourceHash" : "a4d308598a2120aa864a49307ef3a6e516395b3ec80bdc31d378ff3d84884bd9"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0260005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013872",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0260005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0260005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mul2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mul2.json
new file mode 100644
index 0000000..5ccab13
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mul2.json
@@ -0,0 +1,51 @@
+{
+ "mul2" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mul2Filler.json",
+ "sourceHash" : "a6c016e9b224d8d6edc275c8ef25b8e6db2dae12200fdf6dea96f767a57198d2"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x601760000260005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01730a",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601760000260005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x601760000260005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mul3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mul3.json
new file mode 100644
index 0000000..c63721e
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mul3.json
@@ -0,0 +1,52 @@
+{
+ "mul3" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mul3Filler.json",
+ "sourceHash" : "e5ed806ab906f529b1059c9bc7fd030832851e7a547e9a59ed47d59ec478af9f"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600160170260005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013872",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600160170260005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x17"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600160170260005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mul4.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mul4.json
new file mode 100644
index 0000000..2de3d5b
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mul4.json
@@ -0,0 +1,52 @@
+{
+ "mul4" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mul4Filler.json",
+ "sourceHash" : "7d7f630c43cfa7e842a0975cbc2955768590674175d3abebd60ff25e3dc7d863"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f80000000000000000000000000000000000000000000000000000000000000000260005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013872",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f80000000000000000000000000000000000000000000000000000000000000000260005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x8000000000000000000000000000000000000000000000000000000000000000"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f80000000000000000000000000000000000000000000000000000000000000000260005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mul5.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mul5.json
new file mode 100644
index 0000000..4f0f781
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mul5.json
@@ -0,0 +1,51 @@
+{
+ "mul5" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mul5Filler.json",
+ "sourceHash" : "7fd39e133673784604b07390ff8ae5ba68c6ff3b879ebe1bfeca5d9fd5e20b1d"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x7f80000000000000000000000000000000000000000000000000000000000000007f80000000000000000000000000000000000000000000000000000000000000000260005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01730a",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7f80000000000000000000000000000000000000000000000000000000000000007f80000000000000000000000000000000000000000000000000000000000000000260005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7f80000000000000000000000000000000000000000000000000000000000000007f80000000000000000000000000000000000000000000000000000000000000000260005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mul6.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mul6.json
new file mode 100644
index 0000000..d81b122
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mul6.json
@@ -0,0 +1,52 @@
+{
+ "mul6" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mul6Filler.json",
+ "sourceHash" : "ff1337c3aa0c062b133fa7dd0a86e8f3163e0621c255cee7415ae600e949660b"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0260005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x013872",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0260005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0260005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mul7.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mul7.json
new file mode 100644
index 0000000..2f98771
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mul7.json
@@ -0,0 +1,51 @@
+{
+ "mul7" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mul7Filler.json",
+ "sourceHash" : "b97be9ba197c326c2984c10585e3397e6e517fa84ae57f6bf8325241657f5def"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x7001234567890abcdef0fedcba09876543217001234567890abcdef0fedcba09876543217001234567890abcdef0fedcba0987654321020260005260206000f300",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x01867e",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x47d0817e4167b1eb4f9fc722b133ef9d7d9a6fb4c2c1c442d000107a5e419561",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7001234567890abcdef0fedcba09876543217001234567890abcdef0fedcba09876543217001234567890abcdef0fedcba0987654321020260005260206000f300",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x7001234567890abcdef0fedcba09876543217001234567890abcdef0fedcba09876543217001234567890abcdef0fedcba0987654321020260005260206000f300",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mulUnderFlow.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mulUnderFlow.json
new file mode 100644
index 0000000..1ca2f8a
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mulUnderFlow.json
@@ -0,0 +1,37 @@
+{
+ "mulUnderFlow" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mulUnderFlowFiller.json",
+ "sourceHash" : "03cdcf086be91ef74f546e1a19dcf2220ed831d9fa47152fa154787ed9daada1"
+ },
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x60010260015500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x60010260015500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod0.json
new file mode 100644
index 0000000..5cae224
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod0.json
@@ -0,0 +1,51 @@
+{
+ "mulmod0" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mulmod0Filler.json",
+ "sourceHash" : "02125ae8b22f33f63d6d7d3f9cecf07b874e590c29c261a86da5c0cbf94c91de"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6002600260010960005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x017304",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6002600260010960005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6002600260010960005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1.json
new file mode 100644
index 0000000..3a627d4
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1.json
@@ -0,0 +1,51 @@
+{
+ "mulmod1" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mulmod1Filler.json",
+ "sourceHash" : "c8a35400d1d3ea1fbbdd6a8675d68794032314164f9bbbc6ffa44f6b33a0e119"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6003600260000360016000030960005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0172f8",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6003600260000360016000030960005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6003600260000360016000030960005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow.json
new file mode 100644
index 0000000..9e4a77c
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow.json
@@ -0,0 +1,51 @@
+{
+ "mulmod1_overflow" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mulmod1_overflowFiller.json",
+ "sourceHash" : "dbfa4ba18f5aae2ffc7f3d73452f1794a32b892fa221a0fb6e803be7c43a34c6"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x6005600260016000030960005500",
+ "data" : "0x",
+ "gas" : "0x0186a0",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0172fe",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6005600260016000030960005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x6005600260016000030960005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow2.json
new file mode 100644
index 0000000..53130d0
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow2.json
@@ -0,0 +1,52 @@
+{
+ "mulmod1_overflow2" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mulmod1_overflow2Filler.json",
+ "sourceHash" : "3252864171ec6955859f10359bb4386d908e0ef79ddd31f8c24ea774021ca132"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600560027f80000000000000000000000000000000000000000000000000000000000000000960005500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0ef40c",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600560027f80000000000000000000000000000000000000000000000000000000000000000960005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600560027f80000000000000000000000000000000000000000000000000000000000000000960005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow3.json
new file mode 100644
index 0000000..82e572e
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow3.json
@@ -0,0 +1,52 @@
+{
+ "mulmod1_overflow3" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mulmod1_overflow3Filler.json",
+ "sourceHash" : "a915f966951915d875ba2c5b2b785689a7cf34c5b02757e0157ff57afad6edc1"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600560027f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0960005500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0ef40c",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600560027f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0960005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x04"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600560027f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0960005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow4.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow4.json
new file mode 100644
index 0000000..1ad9c24
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow4.json
@@ -0,0 +1,52 @@
+{
+ "mulmod1_overflow4" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mulmod1_overflow4Filler.json",
+ "sourceHash" : "1fd6b238682486a153dec1ed7ae7ce57887fba9c50543c89ea5ff8651c981495"
+ },
+ "callcreates" : [
+ ],
+ "env" : {
+ "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "0x01",
+ "currentTimestamp" : "0x03e8"
+ },
+ "exec" : {
+ "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+ "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "code" : "0x600560027f80000000000000000000000000000000000000000000000000000000000000010960005500",
+ "data" : "0x",
+ "gas" : "0x0f4240",
+ "gasPrice" : "0x0c",
+ "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+ "value" : "0x0b"
+ },
+ "gas" : "0x0ef40c",
+ "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+ "out" : "0x",
+ "post" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600560027f80000000000000000000000000000000000000000000000000000000000000010960005500",
+ "nonce" : "0x00",
+ "storage" : {
+ "0x00" : "0x03"
+ }
+ }
+ },
+ "pre" : {
+ "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "0x600560027f80000000000000000000000000000000000000000000000000000000000000010960005500",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod2.json
new file mode 100644
index 0000000..f48151a
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod2.json
@@ -0,0 +1,52 @@
+{
+ "mulmod2" : {
+ "_info" : {
+ "comment" : "",
+ "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+ "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+ "source" : "src/VMTestsFiller/vmArithmeticTest/mulmod2Filler.json",
+ "sourceHash" : "85e9db15ebefc9b40bf254c054117005e0b78aa3787425c3b6d87bf7b11cc878"
+ },
... 26141 lines suppressed ...
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tuweni.apache.org
For additional commands, e-mail: commits-help@tuweni.apache.org