aboutsummaryrefslogtreecommitdiffstats
path: root/GeneralStateTests
diff options
context:
space:
mode:
authorYoichi Hirai <i@yoichihirai.com>2017-05-22 22:01:32 +0800
committerYoichi Hirai <i@yoichihirai.com>2017-06-13 18:32:31 +0800
commit718e9be6879e0312e461bb7099e17debffa6d506 (patch)
tree2d794e0e688836131ed23dbf6171522c732ccd6c /GeneralStateTests
parente0bd37a8667fa26f17f5c74d70549781d58a96ad (diff)
downloaddexon-tests-718e9be6879e0312e461bb7099e17debffa6d506.tar
dexon-tests-718e9be6879e0312e461bb7099e17debffa6d506.tar.gz
dexon-tests-718e9be6879e0312e461bb7099e17debffa6d506.tar.bz2
dexon-tests-718e9be6879e0312e461bb7099e17debffa6d506.tar.lz
dexon-tests-718e9be6879e0312e461bb7099e17debffa6d506.tar.xz
dexon-tests-718e9be6879e0312e461bb7099e17debffa6d506.tar.zst
dexon-tests-718e9be6879e0312e461bb7099e17debffa6d506.zip
Split pyethereum_ecmul_testsFiller.json into files for each test case
Diffstat (limited to 'GeneralStateTests')
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_0.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_40.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_64.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_80.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_0.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_40.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_64.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_128.json442
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_1_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_1_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_1_28000_128.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_128.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_2_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_2_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_2_28000_128.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_21000_80.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_28000_80.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_28000_96.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_9_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_9_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-0_9_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_21000_64.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_21000_80.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_28000_128.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_28000_80.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_96.json442
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_1_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_1_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_1_28000_128.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_96.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_2_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_2_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_2_28000_96.json665
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_21000_80.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_28000_80.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_28000_96.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_9_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_9_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_0-3_9_28000_96.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_21000_64.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_21000_80.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_28000_64.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_28000_80.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_28000_96.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_128.json442
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_1_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_1_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_1_28000_128.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128.json442
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_2_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_2_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_2_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_21000_80.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_28000_128.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_28000_96.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_64.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_80.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_64.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_80.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_96.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_28000_128.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_96.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_28000_96.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_21000_80.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_28000_128.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_28000_96.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_0_28000_128.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_0_28000_80.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_1_28000_128.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_2_28000_96.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_340282366920938463463374607431768211456_28000_80.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_340282366920938463463374607431768211456_28000_96.json444
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_9_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_9_28000_96.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_64.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_80.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_28000_96.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_21000_80.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_2_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_2_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_21000_96.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_28000_96.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_28000_96.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_21000_128.json442
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_28000_128.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_28000_96.json223
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9_21000_128.json222
-rw-r--r--GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9_21000_96.json222
161 files changed, 43098 insertions, 0 deletions
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_0.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_0.json
new file mode 100644
index 000000000..8211dfc21
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_0.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_0_21000_0" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 0 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x6099c97aeb3e27c4e856e380c6b0dd63079885754b92c7bca38348881946e38e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x6099c97aeb3e27c4e856e380c6b0dd63079885754b92c7bca38348881946e38e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x6099c97aeb3e27c4e856e380c6b0dd63079885754b92c7bca38348881946e38e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x6099c97aeb3e27c4e856e380c6b0dd63079885754b92c7bca38348881946e38e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x6099c97aeb3e27c4e856e380c6b0dd63079885754b92c7bca38348881946e38e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x04a26e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a75f5d92",
+ "code" : "",
+ "nonce" : "0x05",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa660"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x5",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_128.json
new file mode 100644
index 000000000..144fe81bf
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_0_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x430f4549028195a2e7f9e32f5841329d6273c34b89997552b344193fca482152",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x430f4549028195a2e7f9e32f5841329d6273c34b89997552b344193fca482152",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x430f4549028195a2e7f9e32f5841329d6273c34b89997552b344193fca482152",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x430f4549028195a2e7f9e32f5841329d6273c34b89997552b344193fca482152",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x430f4549028195a2e7f9e32f5841329d6273c34b89997552b344193fca482152",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x02aa0e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a76155f2",
+ "code" : "",
+ "nonce" : "0x02",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa8a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x2",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_40.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_40.json
new file mode 100644
index 000000000..a3e0c6d3c
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_40.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_0_21000_40" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 40 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xbd980d3b9dc45c4117c87e6cf28b9c5aa2092ec50de0cbb3671b5e0c6c86c09c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xbd980d3b9dc45c4117c87e6cf28b9c5aa2092ec50de0cbb3671b5e0c6c86c09c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xbd980d3b9dc45c4117c87e6cf28b9c5aa2092ec50de0cbb3671b5e0c6c86c09c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xbd980d3b9dc45c4117c87e6cf28b9c5aa2092ec50de0cbb3671b5e0c6c86c09c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xbd980d3b9dc45c4117c87e6cf28b9c5aa2092ec50de0cbb3671b5e0c6c86c09c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x0548ce",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a75eb732",
+ "code" : "",
+ "nonce" : "0x06",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa7a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x6",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_64.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_64.json
new file mode 100644
index 000000000..94ec61fc5
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_64.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_0_21000_64" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 64 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x138adacff9727a3ba3cff826d1228356367ff495878c05f95a2b585d4e00a907",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x138adacff9727a3ba3cff826d1228356367ff495878c05f95a2b585d4e00a907",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x138adacff9727a3ba3cff826d1228356367ff495878c05f95a2b585d4e00a907",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x138adacff9727a3ba3cff826d1228356367ff495878c05f95a2b585d4e00a907",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x138adacff9727a3ba3cff826d1228356367ff495878c05f95a2b585d4e00a907",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x0352ae",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a760ad52",
+ "code" : "",
+ "nonce" : "0x03",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa7a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x3",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_80.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_80.json
new file mode 100644
index 000000000..a687d61d0
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_80.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_0_21000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x06374704bbd4575225bc6c7c3d323fb147137adc1ce2e69ff7475b51d48b6dd1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x06374704bbd4575225bc6c7c3d323fb147137adc1ce2e69ff7475b51d48b6dd1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x06374704bbd4575225bc6c7c3d323fb147137adc1ce2e69ff7475b51d48b6dd1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x06374704bbd4575225bc6c7c3d323fb147137adc1ce2e69ff7475b51d48b6dd1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x06374704bbd4575225bc6c7c3d323fb147137adc1ce2e69ff7475b51d48b6dd1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x03fa4e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a76005b2",
+ "code" : "",
+ "nonce" : "0x04",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa820"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x4",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_96.json
new file mode 100644
index 000000000..646d38707
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_0_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x02a314ac724119d976a780f535d782df0f80f39eff2ce72fbd17fa935d9ea607",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x02a314ac724119d976a780f535d782df0f80f39eff2ce72fbd17fa935d9ea607",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x02a314ac724119d976a780f535d782df0f80f39eff2ce72fbd17fa935d9ea607",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x02a314ac724119d976a780f535d782df0f80f39eff2ce72fbd17fa935d9ea607",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x02a314ac724119d976a780f535d782df0f80f39eff2ce72fbd17fa935d9ea607",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x0201ee",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a761fe12",
+ "code" : "",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa820"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x1",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_0.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_0.json
new file mode 100644
index 000000000..bb099b1b2
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_0.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_0-0_0_28000_0" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 0 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x82b575efc3c640cedeef92809127e19805d77335eb15ca6a60713ee81ccd4c81",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x82b575efc3c640cedeef92809127e19805d77335eb15ca6a60713ee81ccd4c81",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x93fe4ed1c1696921e2e9a828cbff17275292ba28517e6df9ff7bd55b2ee0f40c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x93fe4ed1c1696921e2e9a828cbff17275292ba28517e6df9ff7bd55b2ee0f40c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xa577726bb7cf6bedf4e5a491dd07407b7c061871082f7b749b29df82b79f3936",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x46150a",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a71deaf6",
+ "code" : "",
+ "nonce" : "0x66",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc1b8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x66",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_128.json
new file mode 100644
index 000000000..6260b925a
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_0-0_0_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x4b552e9a4beb8cb1c10a5d65f21d7144e360c72cf77270376bdce21f916a50cb",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x4b552e9a4beb8cb1c10a5d65f21d7144e360c72cf77270376bdce21f916a50cb",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x7164faf5429edc70ca96e0276d3431d1ff3fab8989c6d5df942ef7b0ad8e6182",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x7164faf5429edc70ca96e0276d3431d1ff3fab8989c6d5df942ef7b0ad8e6182",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xa1e1fae9257ede20605421635d2a33aeb2057a56b6ef37ad6dc8627de8d4a044",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x44aa7f",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a71f5581",
+ "code" : "",
+ "nonce" : "0x63",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc3f8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x63",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_40.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_40.json
new file mode 100644
index 000000000..b0aa7a1f7
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_40.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_0-0_0_28000_40" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 40 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x43836a1f76e1cff8e77c5e4e0de63ac78209ed2424772c7f99df12c443eceae7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x43836a1f76e1cff8e77c5e4e0de63ac78209ed2424772c7f99df12c443eceae7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x8bde0b4e2dafa821aaa129b273056cda950b6fdb872f40d42cbd700585a2fcc6",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x8bde0b4e2dafa821aaa129b273056cda950b6fdb872f40d42cbd700585a2fcc6",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xd56e2234d2136a06c87d19ffab1472702ffd5cf3bad857f182c028169f152242",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x468c1a",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a71d73e6",
+ "code" : "",
+ "nonce" : "0x67",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc2f8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x67",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_64.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_64.json
new file mode 100644
index 000000000..65da09820
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_64.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_0-0_0_28000_64" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 64 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x251962097e355edba18d6292ca314b363fd2e4f96b8ff36949546f9338b4a77f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x251962097e355edba18d6292ca314b363fd2e4f96b8ff36949546f9338b4a77f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xb60e761fbaa1b402863c5df66d0328dbba47dca6ee32b8b0013d37593f731356",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xb60e761fbaa1b402863c5df66d0328dbba47dca6ee32b8b0013d37593f731356",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x4f4170d6fa57ce4e80939b6080bb3e32992155c009f756feec8ac2f7401bedeb",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x4523db",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a71edc25",
+ "code" : "",
+ "nonce" : "0x64",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc2f8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x64",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_0-0_0_28000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x015ad17e559750ddfe76fc4d25642dab8df033dab11cbee5ff6f34ef01485582",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x015ad17e559750ddfe76fc4d25642dab8df033dab11cbee5ff6f34ef01485582",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x79e2d9227910c917afa8972ebfec55e8f625a77bb1ec21f7f99c798fd392ef86",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x79e2d9227910c917afa8972ebfec55e8f625a77bb1ec21f7f99c798fd392ef86",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xd03b580221a9bd6659acf2b71e2c8ff860a40f3eebd2f0d18a2668f0681e1b98",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x459c31",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a71e63cf",
+ "code" : "",
+ "nonce" : "0x65",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc378"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x65",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_96.json
new file mode 100644
index 000000000..5ff1874cf
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_0_28000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_0_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x8f86905257921e61eb3f64a01ddc1d88267de1ceb963ad57e302b4a9c6b29422",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x8f86905257921e61eb3f64a01ddc1d88267de1ceb963ad57e302b4a9c6b29422",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x2a39029dd4c51428611e2901c51362d4595f80895815031c9498545f771429d8",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x2a39029dd4c51428611e2901c51362d4595f80895815031c9498545f771429d8",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x08c2796dd9d8a87348ff8d512948b0af92b09547a9607f5d5bbb607d34cc4825",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x43f70e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a72008f2",
+ "code" : "",
+ "nonce" : "0x62",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc378"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x62",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_128.json
new file mode 100644
index 000000000..f2a139a97
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_128.json
@@ -0,0 +1,442 @@
+{
+ "ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xb50abe89d2d80a186d35f4732a2c0e83868110aa5e9abcccdda1bbb3478acfec",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xb50abe89d2d80a186d35f4732a2c0e83868110aa5e9abcccdda1bbb3478acfec",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xb50abe89d2d80a186d35f4732a2c0e83868110aa5e9abcccdda1bbb3478acfec",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xb50abe89d2d80a186d35f4732a2c0e83868110aa5e9abcccdda1bbb3478acfec",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xb50abe89d2d80a186d35f4732a2c0e83868110aa5e9abcccdda1bbb3478acfec",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x3da16e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7265e92",
+ "code" : "",
+ "nonce" : "0x59",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb0a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x59",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_1-2_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x450c153cef502580a8fb23097c83311a9859d7163e97ebb3399b3af74d167d4c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x450c153cef502580a8fb23097c83311a9859d7163e97ebb3399b3af74d167d4c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x450c153cef502580a8fb23097c83311a9859d7163e97ebb3399b3af74d167d4c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x450c153cef502580a8fb23097c83311a9859d7163e97ebb3399b3af74d167d4c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x450c153cef502580a8fb23097c83311a9859d7163e97ebb3399b3af74d167d4c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x3e520e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a725adf2",
+ "code" : "",
+ "nonce" : "0x5a",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+ ],
+ "gasLimit" : [
+ "0xb0a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x5a",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_96.json
new file mode 100644
index 000000000..6e36c671f
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xda4f9096752c78d4d3b93228ee4c7085702c3ce3e934857b505d847e067a4655",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xda4f9096752c78d4d3b93228ee4c7085702c3ce3e934857b505d847e067a4655",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xda4f9096752c78d4d3b93228ee4c7085702c3ce3e934857b505d847e067a4655",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xda4f9096752c78d4d3b93228ee4c7085702c3ce3e934857b505d847e067a4655",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xda4f9096752c78d4d3b93228ee4c7085702c3ce3e934857b505d847e067a4655",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x3cf14e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7270eb2",
+ "code" : "",
+ "nonce" : "0x58",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+ ],
+ "gasLimit" : [
+ "0xb020"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x58",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128.json
new file mode 100644
index 000000000..4df6cee04
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xc847708273ab597d7801e24f7431c1bdec104433b98f0a1e31f8ee4f21d02ab9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xc847708273ab597d7801e24f7431c1bdec104433b98f0a1e31f8ee4f21d02ab9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x3aafcd67ba2a6fa262eb47cd0fd7629fef9748df5ceabd9fd5bc3e3a7ba11528",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x3aafcd67ba2a6fa262eb47cd0fd7629fef9748df5ceabd9fd5bc3e3a7ba11528",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xf9d5e6c58306de8995de2306f3ca0fd6d7fa955ae9105dcc36fd08d78bf98e36",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x797a06",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6ea85fa",
+ "code" : "",
+ "nonce" : "0xba",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xcbf8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xba",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96.json
new file mode 100644
index 000000000..d17719da8
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_0-0_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x41f954b31f87428a132c9049762e3f3d50e64cd3167e920706375dfdc58d620b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x41f954b31f87428a132c9049762e3f3d50e64cd3167e920706375dfdc58d620b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x94715d44f73e6ed34264782bbd86f129ea2a8ecc433c281663b6090101cf0e68",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x94715d44f73e6ed34264782bbd86f129ea2a8ecc433c281663b6090101cf0e68",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x74afdbc03bbb848876c584c23abcc748e22b18bbcbcdca0380474128e630f438",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x78f92d",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6eb06d3",
+ "code" : "",
+ "nonce" : "0xb9",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+ ],
+ "gasLimit" : [
+ "0xcb78"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xb9",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_1_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_1_21000_128.json
new file mode 100644
index 000000000..b61d457c2
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_1_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_1_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x943cebbe4f8df059a7ef38ef7214d8cb9bba2b5ab94a216b1b8e4ae44baec6b8",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x943cebbe4f8df059a7ef38ef7214d8cb9bba2b5ab94a216b1b8e4ae44baec6b8",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x943cebbe4f8df059a7ef38ef7214d8cb9bba2b5ab94a216b1b8e4ae44baec6b8",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x943cebbe4f8df059a7ef38ef7214d8cb9bba2b5ab94a216b1b8e4ae44baec6b8",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x943cebbe4f8df059a7ef38ef7214d8cb9bba2b5ab94a216b1b8e4ae44baec6b8",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x115ece",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a752a132",
+ "code" : "",
+ "nonce" : "0x18",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa8e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x18",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_1_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_1_21000_96.json
new file mode 100644
index 000000000..81a2999f5
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_1_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_1_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x6ff0cded5dc0a68e54159744345766c3c4520451e3d312ea128188ff508546a1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x6ff0cded5dc0a68e54159744345766c3c4520451e3d312ea128188ff508546a1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x6ff0cded5dc0a68e54159744345766c3c4520451e3d312ea128188ff508546a1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x6ff0cded5dc0a68e54159744345766c3c4520451e3d312ea128188ff508546a1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x6ff0cded5dc0a68e54159744345766c3c4520451e3d312ea128188ff508546a1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x10b66e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7534992",
+ "code" : "",
+ "nonce" : "0x17",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"
+ ],
+ "gasLimit" : [
+ "0xa860"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x17",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_1_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_1_28000_128.json
new file mode 100644
index 000000000..05f73da26
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_1_28000_128.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_0-0_1_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x9c5de46e281782b48687859c642e66f4de38e26a32d75b24acc0ade15d69b5a7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x9c5de46e281782b48687859c642e66f4de38e26a32d75b24acc0ade15d69b5a7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x272d7bb826456ef114469f1bad452c160ab0b8dfd54aa7651194984807794b2d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x272d7bb826456ef114469f1bad452c160ab0b8dfd54aa7651194984807794b2d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x7be6d42d88dd73a77679df97daa6fa02f12074e4e21fc3a69f38fe8919ce6c91",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x51a411",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7125bef",
+ "code" : "",
+ "nonce" : "0x79",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc438"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x79",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_1-2_1_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xe32334ddcc3851155fb8f17ec83e1af56f485e5d162199e4710735b69f76839a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xe32334ddcc3851155fb8f17ec83e1af56f485e5d162199e4710735b69f76839a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xbc8ca8698e1db40e7cc3c339d41fe78345037967f523d7a58fcfb874c121cd1e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xbc8ca8698e1db40e7cc3c339d41fe78345037967f523d7a58fcfb874c121cd1e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x8fe318765ba492b247dc8f5b94e297bc98cd8dad9d7bd49fb0580672eb398bc2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x521dad",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a711e253",
+ "code" : "",
+ "nonce" : "0x7a",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001"
+ ],
+ "gasLimit" : [
+ "0xc438"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x7a",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128.json
new file mode 100644
index 000000000..7a1c13844
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xf15128f511a70bea6db02bc0a6070afdcbbbf777c9556c4aafda4708e719e0c5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xf15128f511a70bea6db02bc0a6070afdcbbbf777c9556c4aafda4708e719e0c5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xf15128f511a70bea6db02bc0a6070afdcbbbf777c9556c4aafda4708e719e0c5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xf15128f511a70bea6db02bc0a6070afdcbbbf777c9556c4aafda4708e719e0c5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xf15128f511a70bea6db02bc0a6070afdcbbbf777c9556c4aafda4708e719e0c5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x2fa1ae",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7345e52",
+ "code" : "",
+ "nonce" : "0x45",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xafe0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x45",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96.json
new file mode 100644
index 000000000..26c997364
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x03cea137e4c98260395b5665e40cfeea53e1db8e8cc4fc0b684b34aaa5252373",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x03cea137e4c98260395b5665e40cfeea53e1db8e8cc4fc0b684b34aaa5252373",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x03cea137e4c98260395b5665e40cfeea53e1db8e8cc4fc0b684b34aaa5252373",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x03cea137e4c98260395b5665e40cfeea53e1db8e8cc4fc0b684b34aaa5252373",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x03cea137e4c98260395b5665e40cfeea53e1db8e8cc4fc0b684b34aaa5252373",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x2ef24e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7350db2",
+ "code" : "",
+ "nonce" : "0x44",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000"
+ ],
+ "gasLimit" : [
+ "0xaf60"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x44",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_128.json
new file mode 100644
index 000000000..cf6b984af
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_128.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x39eab2f7f0361986648434c152df6bf1578ce0b55440cab8d63cf63d4e2bccfb",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x39eab2f7f0361986648434c152df6bf1578ce0b55440cab8d63cf63d4e2bccfb",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x8faab70a3a06dd66483efeaf49f62fde143799cc835aa5b9609d6df3332ca92a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x8faab70a3a06dd66483efeaf49f62fde143799cc835aa5b9609d6df3332ca92a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x9ec7c2f8f569367f3877a6806b407c1d109b2fdffbb5299773a66592c714de5c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x6cd6c8",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6f72938",
+ "code" : "",
+ "nonce" : "0xa6",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xcb38"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xa6",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x9665331b30df36acec79bf537e0ccd9720fac5f7c8a3beed6b7f3552406aea55",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x9665331b30df36acec79bf537e0ccd9720fac5f7c8a3beed6b7f3552406aea55",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x3efc30f58d03bc4c5a8d9d98feb65a6f3795378c9f414ed946ee01810b5ca06b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x3efc30f58d03bc4c5a8d9d98feb65a6f3795378c9f414ed946ee01810b5ca06b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x31340e14c930c3d48d29d83f6fd7b743f480df558a9eef5a5a8d53fb520e7df4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x6d5764",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6f6a89c",
+ "code" : "",
+ "nonce" : "0xa7",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000"
+ ],
+ "gasLimit" : [
+ "0xcb38"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xa7",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128.json
new file mode 100644
index 000000000..dfcfa3167
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x2777284518552c535e7b02ca69b0f27a26491dcbd12196b7ff99e874641bf4e7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x2777284518552c535e7b02ca69b0f27a26491dcbd12196b7ff99e874641bf4e7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x2777284518552c535e7b02ca69b0f27a26491dcbd12196b7ff99e874641bf4e7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x2777284518552c535e7b02ca69b0f27a26491dcbd12196b7ff99e874641bf4e7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x2777284518552c535e7b02ca69b0f27a26491dcbd12196b7ff99e874641bf4e7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x36a02e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a72d5fd2",
+ "code" : "",
+ "nonce" : "0x4f",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb020"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x4f",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96.json
new file mode 100644
index 000000000..84844d7d1
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x001b863b5e4bf1646fc185c8000798502d48ecd039a5cf11b579067fe2a1d717",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x001b863b5e4bf1646fc185c8000798502d48ecd039a5cf11b579067fe2a1d717",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x001b863b5e4bf1646fc185c8000798502d48ecd039a5cf11b579067fe2a1d717",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x001b863b5e4bf1646fc185c8000798502d48ecd039a5cf11b579067fe2a1d717",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x001b863b5e4bf1646fc185c8000798502d48ecd039a5cf11b579067fe2a1d717",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x35f08e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a72e0f72",
+ "code" : "",
+ "nonce" : "0x4e",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"
+ ],
+ "gasLimit" : [
+ "0xafa0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x4e",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128.json
new file mode 100644
index 000000000..5228a0a80
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xab920df7f049779a3ae0355ebf5e3828ce18c84f4855d926c04643c392f8d710",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xab920df7f049779a3ae0355ebf5e3828ce18c84f4855d926c04643c392f8d710",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x6216e77f7e25c505b2220ba4d2baa6674e76ffc6e439aca2322c398a211705ea",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x6216e77f7e25c505b2220ba4d2baa6674e76ffc6e439aca2322c398a211705ea",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x4a7ce830af09b13ab23554b368f2e18d2ec7a0389f3472a1008b24de77be970d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x732707",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6f0d8f9",
+ "code" : "",
+ "nonce" : "0xb0",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xcb78"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xb0",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96.json
new file mode 100644
index 000000000..d4f75a75b
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x20feb2c16828e24c862bdd1b4739bfcf265f106433b84959de10e87c95341e4a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x20feb2c16828e24c862bdd1b4739bfcf265f106433b84959de10e87c95341e4a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xf371019f5843bb4bea0daf204c6eef9d180e8a65cdb6a48933e593790c004e12",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xf371019f5843bb4bea0daf204c6eef9d180e8a65cdb6a48933e593790c004e12",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x5834fc8fa4ae63b5dab10b145fc3f091553926fd49b98693f2af46e7563efe43",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x72a6ae",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6f15952",
+ "code" : "",
+ "nonce" : "0xaf",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x289df36ee06bbcd57a9ce2a88d2bcda09715d42f96f7f23c48cdd54e2002f059"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"
+ ],
+ "gasLimit" : [
+ "0xcaf8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xaf",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_2_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_2_21000_128.json
new file mode 100644
index 000000000..70b09055a
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_2_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_2_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x9d690ba596f417f7073d94371c5b0ad37276e4a23186eeaacee68206b20ec374",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x9d690ba596f417f7073d94371c5b0ad37276e4a23186eeaacee68206b20ec374",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x9d690ba596f417f7073d94371c5b0ad37276e4a23186eeaacee68206b20ec374",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x9d690ba596f417f7073d94371c5b0ad37276e4a23186eeaacee68206b20ec374",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x9d690ba596f417f7073d94371c5b0ad37276e4a23186eeaacee68206b20ec374",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x18170e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a74be8f2",
+ "code" : "",
+ "nonce" : "0x22",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa8e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x22",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_2_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_2_21000_96.json
new file mode 100644
index 000000000..27945852d
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_2_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_2_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xa09879d30b4513110ac57bc07aae20fc993f73da595283e6c5b58ff07e6a7f41",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xa09879d30b4513110ac57bc07aae20fc993f73da595283e6c5b58ff07e6a7f41",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xa09879d30b4513110ac57bc07aae20fc993f73da595283e6c5b58ff07e6a7f41",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xa09879d30b4513110ac57bc07aae20fc993f73da595283e6c5b58ff07e6a7f41",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xa09879d30b4513110ac57bc07aae20fc993f73da595283e6c5b58ff07e6a7f41",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x176eae",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a74c9152",
+ "code" : "",
+ "nonce" : "0x21",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002"
+ ],
+ "gasLimit" : [
+ "0xa860"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x21",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_2_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_2_28000_128.json
new file mode 100644
index 000000000..0a8092537
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_2_28000_128.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_0-0_2_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x98bd10d6429639c7be9a60feb895f950bcc16f3f01be3d7155e20cd45a957178",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x98bd10d6429639c7be9a60feb895f950bcc16f3f01be3d7155e20cd45a957178",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x5dbea641864c9d1dffc8c6d6d60c46d51da9f371e0df3faaad539530c4a7bc70",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x5dbea641864c9d1dffc8c6d6d60c46d51da9f371e0df3faaad539530c4a7bc70",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x5eda71dd1c317c81ca5ac909a8d4a25e4bf8380bd703403bf661b47f3bf55c8a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x57ae10",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a70c51f0",
+ "code" : "",
+ "nonce" : "0x83",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc438"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x83",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_1-2_2_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xe22a6403bfca260f936b0fdc167f95061c1a6289faa8639effd040a3d9ff1328",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xe22a6403bfca260f936b0fdc167f95061c1a6289faa8639effd040a3d9ff1328",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x523309023ae81e572181c298a5034eaf0f1cde218e08bd8db27e165e56b341e4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x523309023ae81e572181c298a5034eaf0f1cde218e08bd8db27e165e56b341e4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x14f84a60308f4eeef0b326c2bfc8d1ad44f5b634c0889fcf1f18bfaf93e12d7d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x5827ac",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a70bd854",
+ "code" : "",
+ "nonce" : "0x84",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002"
+ ],
+ "gasLimit" : [
+ "0xc438"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x84",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_21000_128.json
new file mode 100644
index 000000000..5f866074e
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_340282366920938463463374607431768211456_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x6de21a30cc3232066c03445e5da80e3da30b8a644b57050afe56ac4d555fa8dd",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x6de21a30cc3232066c03445e5da80e3da30b8a644b57050afe56ac4d555fa8dd",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x6de21a30cc3232066c03445e5da80e3da30b8a644b57050afe56ac4d555fa8dd",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x6de21a30cc3232066c03445e5da80e3da30b8a644b57050afe56ac4d555fa8dd",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x6de21a30cc3232066c03445e5da80e3da30b8a644b57050afe56ac4d555fa8dd",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x25878e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a73e7872",
+ "code" : "",
+ "nonce" : "0x36",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa8e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x36",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_21000_80.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_21000_80.json
new file mode 100644
index 000000000..c72bd6f18
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_21000_80.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_340282366920938463463374607431768211456_21000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x56913e0957757b65b76af896cc9e64ff4470ed1c388855df471eb9b71b3029b6",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x56913e0957757b65b76af896cc9e64ff4470ed1c388855df471eb9b71b3029b6",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x56913e0957757b65b76af896cc9e64ff4470ed1c388855df471eb9b71b3029b6",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x56913e0957757b65b76af896cc9e64ff4470ed1c388855df471eb9b71b3029b6",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x56913e0957757b65b76af896cc9e64ff4470ed1c388855df471eb9b71b3029b6",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x26306e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a73dcf92",
+ "code" : "",
+ "nonce" : "0x37",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa860"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x37",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_21000_96.json
new file mode 100644
index 000000000..f5a0a560e
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_340282366920938463463374607431768211456_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xdc8b1c236188814b1b107bec5e2570265c4d779541fc6ee24889e610131659b8",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xdc8b1c236188814b1b107bec5e2570265c4d779541fc6ee24889e610131659b8",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xdc8b1c236188814b1b107bec5e2570265c4d779541fc6ee24889e610131659b8",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xdc8b1c236188814b1b107bec5e2570265c4d779541fc6ee24889e610131659b8",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xdc8b1c236188814b1b107bec5e2570265c4d779541fc6ee24889e610131659b8",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x24df2e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a73f20d2",
+ "code" : "",
+ "nonce" : "0x35",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa860"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x35",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_28000_80.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_28000_80.json
new file mode 100644
index 000000000..d8d3c668e
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_28000_80.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_0-0_340282366920938463463374607431768211456_28000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x325ca8a8f962659323444c5a7525f422da5fe5ac4d8fa4d8f28ac5a74dea8e3e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x325ca8a8f962659323444c5a7525f422da5fe5ac4d8fa4d8f28ac5a74dea8e3e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xd73256fc4953dd26df90488793b0afa577eaef9c1aa87c7aee8458d560055929",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xd73256fc4953dd26df90488793b0afa577eaef9c1aa87c7aee8458d560055929",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xe371a5af9bddee6855a107e78f03d0e1b2314d290e11e473b5722b52bfdfca01",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x643baa",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6ffc456",
+ "code" : "",
+ "nonce" : "0x98",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc3b8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x98",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_1-2_340282366920938463463374607431768211456_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x723902bd58f94d97f55f4a267d3ebe09c89fd5d73c3db4ee70c58880f6a4469f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x723902bd58f94d97f55f4a267d3ebe09c89fd5d73c3db4ee70c58880f6a4469f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x7a3f44474821ca082177187fa5ae92fa5ded8f558d4b8f03f385a7070fce773c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x7a3f44474821ca082177187fa5ae92fa5ded8f558d4b8f03f385a7070fce773c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x58cca967684e31b2f30ea61a1af1e2666fe904e6c95ed1313d5af1ab74e1c908",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x64b4c3",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6ff4b3d",
+ "code" : "",
+ "nonce" : "0x99",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc438"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x99",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_28000_96.json
new file mode 100644
index 000000000..26f19e465
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_340282366920938463463374607431768211456_28000_96.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_0-0_340282366920938463463374607431768211456_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x8a601f8671c2ffcfae5e426a45b419a40b5f6b33a617bfa7e60461432ef9657d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x8a601f8671c2ffcfae5e426a45b419a40b5f6b33a617bfa7e60461432ef9657d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x381438d09254ed53fc0e610ccf84c5879017bb57b2601424f429cdb09c446e47",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x381438d09254ed53fc0e610ccf84c5879017bb57b2601424f429cdb09c446e47",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x9a1c58c515c22f7238a8dd56fb9db32eb1dde508309f4f5b1ce3c32ad43be5c8",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x63c20e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7003df2",
+ "code" : "",
+ "nonce" : "0x97",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc438"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x97",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_0-0_340282366920938463463374607431768211456_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x27fe6415030a945d54def8e5f1a956d48503279120403268c8c389c2b9a82916",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x27fe6415030a945d54def8e5f1a956d48503279120403268c8c389c2b9a82916",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x915bf5045f36f4f11037b4566de437b46cf0a1b96ec486e1158cfaf5630f3242",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x915bf5045f36f4f11037b4566de437b46cf0a1b96ec486e1158cfaf5630f3242",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xb1c70118dee292cfa2aec0e471d0c55e2a96511bde0c27e7095fb8fd8b955d55",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x6348f5",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a700b70b",
+ "code" : "",
+ "nonce" : "0x96",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xf348aa9f55b137fd60af9c782c04ea7c52c0b193972d1c3aa63d78a110fa2e20"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc3b8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x96",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_9_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_9_21000_128.json
new file mode 100644
index 000000000..57fd3c341
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_9_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_9_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x5371d9144a5b4f083da041fa78d68794463309a55745b5b8fa460990a40a8023",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x5371d9144a5b4f083da041fa78d68794463309a55745b5b8fa460990a40a8023",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x5371d9144a5b4f083da041fa78d68794463309a55745b5b8fa460990a40a8023",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x5371d9144a5b4f083da041fa78d68794463309a55745b5b8fa460990a40a8023",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x5371d9144a5b4f083da041fa78d68794463309a55745b5b8fa460990a40a8023",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x1ecf4e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a74530b2",
+ "code" : "",
+ "nonce" : "0x2c",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa8e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x2c",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_9_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_9_21000_96.json
new file mode 100644
index 000000000..3d5320cc6
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_9_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-0_9_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xfeb25b1c083c930356e841056717a3bcaf81dc8ad202a5a0d89cbd7639e611e5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xfeb25b1c083c930356e841056717a3bcaf81dc8ad202a5a0d89cbd7639e611e5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xfeb25b1c083c930356e841056717a3bcaf81dc8ad202a5a0d89cbd7639e611e5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xfeb25b1c083c930356e841056717a3bcaf81dc8ad202a5a0d89cbd7639e611e5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xfeb25b1c083c930356e841056717a3bcaf81dc8ad202a5a0d89cbd7639e611e5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x1e26ee",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a745d912",
+ "code" : "",
+ "nonce" : "0x2b",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009"
+ ],
+ "gasLimit" : [
+ "0xa860"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x2b",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-0_9_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_9_28000_128.json
new file mode 100644
index 000000000..05c99d3ff
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-0_9_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_0-0_9_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xbda2d2425f695129b0631eff9b90fa4df131777d8efe28239d220c6ea30542b7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xbda2d2425f695129b0631eff9b90fa4df131777d8efe28239d220c6ea30542b7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x9dba5766073624b78e2aa1c4b10a0ec4de052eac11b04cdfe9536a9fba3038fc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x9dba5766073624b78e2aa1c4b10a0ec4de052eac11b04cdfe9536a9fba3038fc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x78a72325fdc9152b86966ab070003e4abfcd82ad1ff94687aaf23eaf66ce1e67",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x5db80f",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a70647f1",
+ "code" : "",
+ "nonce" : "0x8d",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc438"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x8d",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_21000_128.json
new file mode 100644
index 000000000..1631f72a3
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-3_0_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xd755e1a128450cfe3f764eb4b49ca7e10302a17eb6487e943ca8dda3aff70b13",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xd755e1a128450cfe3f764eb4b49ca7e10302a17eb6487e943ca8dda3aff70b13",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xd755e1a128450cfe3f764eb4b49ca7e10302a17eb6487e943ca8dda3aff70b13",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xd755e1a128450cfe3f764eb4b49ca7e10302a17eb6487e943ca8dda3aff70b13",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xd755e1a128450cfe3f764eb4b49ca7e10302a17eb6487e943ca8dda3aff70b13",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x0ebd4e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a75542b2",
+ "code" : "",
+ "nonce" : "0x14",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa8e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x14",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_21000_64.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_21000_64.json
new file mode 100644
index 000000000..e1570e94c
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_21000_64.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-3_0_21000_64" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 64 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x3a688e71750fd4708f5d35c47ab29415f06c79590692bba75024523756652508",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x3a688e71750fd4708f5d35c47ab29415f06c79590692bba75024523756652508",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x3a688e71750fd4708f5d35c47ab29415f06c79590692bba75024523756652508",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x3a688e71750fd4708f5d35c47ab29415f06c79590692bba75024523756652508",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x3a688e71750fd4708f5d35c47ab29415f06c79590692bba75024523756652508",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x0f662e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a75499d2",
+ "code" : "",
+ "nonce" : "0x15",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003"
+ ],
+ "gasLimit" : [
+ "0xa7e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x15",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_21000_80.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_21000_80.json
new file mode 100644
index 000000000..2de84754a
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_21000_80.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-3_0_21000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x990ed373f0e99b02ff066b466a484e99c5036cf56da3ec6ad28586833fdaae0f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x990ed373f0e99b02ff066b466a484e99c5036cf56da3ec6ad28586833fdaae0f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x990ed373f0e99b02ff066b466a484e99c5036cf56da3ec6ad28586833fdaae0f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x990ed373f0e99b02ff066b466a484e99c5036cf56da3ec6ad28586833fdaae0f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x990ed373f0e99b02ff066b466a484e99c5036cf56da3ec6ad28586833fdaae0f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x100e0e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a753f1f2",
+ "code" : "",
+ "nonce" : "0x16",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa860"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x16",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_21000_96.json
new file mode 100644
index 000000000..28300a382
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-3_0_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xfc2a51e1185f02b5b9f802e821213afdc3090355e52330e04448e8aa9def1083",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xfc2a51e1185f02b5b9f802e821213afdc3090355e52330e04448e8aa9def1083",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xfc2a51e1185f02b5b9f802e821213afdc3090355e52330e04448e8aa9def1083",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xfc2a51e1185f02b5b9f802e821213afdc3090355e52330e04448e8aa9def1083",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xfc2a51e1185f02b5b9f802e821213afdc3090355e52330e04448e8aa9def1083",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x0e14ee",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a755eb12",
+ "code" : "",
+ "nonce" : "0x13",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa860"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x13",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_28000_128.json
new file mode 100644
index 000000000..df15a9bea
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_28000_128.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_0-3_0_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x1490aa0240922f400c8d1a0c366507630f23474ca855a9a7959869409ca3e3ce",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x1490aa0240922f400c8d1a0c366507630f23474ca855a9a7959869409ca3e3ce",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xd5f32e87d1d31098ef0d1a614050daf66bdefba5ed18199bf2d0f9031103d5df",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xd5f32e87d1d31098ef0d1a614050daf66bdefba5ed18199bf2d0f9031103d5df",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xd5f32e87d1d31098ef0d1a614050daf66bdefba5ed18199bf2d0f9031103d5df",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x4edfd0",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7152030",
+ "code" : "",
+ "nonce" : "0x75",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc438"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x75",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_0-3_0_28000_64" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 64 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xb053b62270d9ce22a95577bc92808172f9ca92e4168f444b63d32cd840c937dd",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xb053b62270d9ce22a95577bc92808172f9ca92e4168f444b63d32cd840c937dd",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xd8fbae420a53f2dfbbbed4cd575ed759b47c502cdcee3f32576ed64d6ee92076",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xd8fbae420a53f2dfbbbed4cd575ed759b47c502cdcee3f32576ed64d6ee92076",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xd8fbae420a53f2dfbbbed4cd575ed759b47c502cdcee3f32576ed64d6ee92076",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x4fa408",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7145bf8",
+ "code" : "",
+ "nonce" : "0x76",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003"
+ ],
+ "gasLimit" : [
+ "0xc338"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x76",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_28000_80.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_28000_80.json
new file mode 100644
index 000000000..9943b8000
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_0_28000_80.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_0-0_1_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xaf3fa8aed9afc6d2b7993a8d88aff96e436bc6354a38321bdccfc67a61c54e13",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xaf3fa8aed9afc6d2b7993a8d88aff96e436bc6354a38321bdccfc67a61c54e13",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x1f18298b83d3addbc52f9066ea300c8ad7d332e60335631e5e35652bd5979f67",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x1f18298b83d3addbc52f9066ea300c8ad7d332e60335631e5e35652bd5979f67",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xdec9499dcfbbe476962ba327a73ee48a0235f556b443034494e688e82579ce2f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x512af8",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a712d508",
+ "code" : "",
+ "nonce" : "0x78",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"
+ ],
+ "gasLimit" : [
+ "0xc3b8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x78",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_0-3_0_28000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xfdb2f67da1feff85b82fa22c1158748d0c91a6f4dab38881fa1d1ae9df2e7737",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xfdb2f67da1feff85b82fa22c1158748d0c91a6f4dab38881fa1d1ae9df2e7737",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x9788543569d30f88f855dedb66a63a877eb70c2297eb5714ebc62f4e50bcc67e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x9788543569d30f88f855dedb66a63a877eb70c2297eb5714ebc62f4e50bcc67e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x9788543569d30f88f855dedb66a63a877eb70c2297eb5714ebc62f4e50bcc67e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x506740",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a71398c0",
+ "code" : "",
+ "nonce" : "0x77",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc3b8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x77",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_96.json
new file mode 100644
index 000000000..bbaba6830
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_96.json
@@ -0,0 +1,442 @@
+{
+ "ecmul_0-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xc6d8369f8fbaf880b3332b3694450bb4b5807498e749e838000e155028725d0e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xc6d8369f8fbaf880b3332b3694450bb4b5807498e749e838000e155028725d0e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xc6d8369f8fbaf880b3332b3694450bb4b5807498e749e838000e155028725d0e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xc6d8369f8fbaf880b3332b3694450bb4b5807498e749e838000e155028725d0e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xc6d8369f8fbaf880b3332b3694450bb4b5807498e749e838000e155028725d0e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x43462e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a720b9d2",
+ "code" : "",
+ "nonce" : "0x61",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb0e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x61",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_0-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xbbb67cc31a78fc2973ab6b04e23267366f687b9e0903e7c919fba47194e70742",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xbbb67cc31a78fc2973ab6b04e23267366f687b9e0903e7c919fba47194e70742",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xbbb67cc31a78fc2973ab6b04e23267366f687b9e0903e7c919fba47194e70742",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xbbb67cc31a78fc2973ab6b04e23267366f687b9e0903e7c919fba47194e70742",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xbbb67cc31a78fc2973ab6b04e23267366f687b9e0903e7c919fba47194e70742",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x4295ce",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7216a32",
+ "code" : "",
+ "nonce" : "0x60",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+ ],
+ "gasLimit" : [
+ "0xb060"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x60",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128.json
new file mode 100644
index 000000000..251e6df9f
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_0-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x5001c8546a137e655c20f78318091f21f6111ff95a884f432b7d3895505afd39",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x5001c8546a137e655c20f78318091f21f6111ff95a884f432b7d3895505afd39",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x8b1b03e1127f001e462bb3ec519e9e21809b55a000ececfd50cc62ad19ebb235",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x8b1b03e1127f001e462bb3ec519e9e21809b55a000ececfd50cc62ad19ebb235",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x8b1b03e1127f001e462bb3ec519e9e21809b55a000ececfd50cc62ad19ebb235",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x7e8474",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6e57b8c",
+ "code" : "",
+ "nonce" : "0xc2",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x40c97882e95e71d48d97c8655188333e16470e807a99282b8795064ca6ca4dcf"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xcc38"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xc2",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96.json
new file mode 100644
index 000000000..777286c65
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_0-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x9a0c21e845af8e26ecbe95ce7e18a740f310bc4ca7a34f168df3c4b45cc0dd6d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x9a0c21e845af8e26ecbe95ce7e18a740f310bc4ca7a34f168df3c4b45cc0dd6d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x5af1078f0ccd78eae444897029c125a79f692f71e0a6c0fb4c9b6961b0384369",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x5af1078f0ccd78eae444897029c125a79f692f71e0a6c0fb4c9b6961b0384369",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x5af1078f0ccd78eae444897029c125a79f692f71e0a6c0fb4c9b6961b0384369",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x7db8bc",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6e64744",
+ "code" : "",
+ "nonce" : "0xc1",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x40c97882e95e71d48d97c8655188333e16470e807a99282b8795064ca6ca4dcf"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+ ],
+ "gasLimit" : [
+ "0xcbb8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xc1",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_1_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_1_21000_128.json
new file mode 100644
index 000000000..c8f4ad593
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_1_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-3_1_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x838e1b3eb501b64351a6ad20934cfe0e61ed8c90548e5f5663fe851a099e1b8d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x838e1b3eb501b64351a6ad20934cfe0e61ed8c90548e5f5663fe851a099e1b8d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x838e1b3eb501b64351a6ad20934cfe0e61ed8c90548e5f5663fe851a099e1b8d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x838e1b3eb501b64351a6ad20934cfe0e61ed8c90548e5f5663fe851a099e1b8d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x838e1b3eb501b64351a6ad20934cfe0e61ed8c90548e5f5663fe851a099e1b8d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x16c58e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a74d3a72",
+ "code" : "",
+ "nonce" : "0x20",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa920"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x20",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_1_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_1_21000_96.json
new file mode 100644
index 000000000..4a1a446f9
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_1_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-3_1_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xfaeeda22aa1a131eed5f60f1d93be1faf569e12fee09bfcf108373415fc1d6c1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xfaeeda22aa1a131eed5f60f1d93be1faf569e12fee09bfcf108373415fc1d6c1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xfaeeda22aa1a131eed5f60f1d93be1faf569e12fee09bfcf108373415fc1d6c1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xfaeeda22aa1a131eed5f60f1d93be1faf569e12fee09bfcf108373415fc1d6c1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xfaeeda22aa1a131eed5f60f1d93be1faf569e12fee09bfcf108373415fc1d6c1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x161cee",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a74de312",
+ "code" : "",
+ "nonce" : "0x1f",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001"
+ ],
+ "gasLimit" : [
+ "0xa8a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x1f",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_1_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_1_28000_128.json
new file mode 100644
index 000000000..4121dd69b
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_1_28000_128.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_0-0_2_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xaf6292885b91ccb830a2d52e4bef6e28597203590dea6922b732abd8bbcb12a3",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xaf6292885b91ccb830a2d52e4bef6e28597203590dea6922b732abd8bbcb12a3",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xc5a1b20126ac4605add4675a088bb102ec7202d39c8e0cb2a986dc24c263407f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xc5a1b20126ac4605add4675a088bb102ec7202d39c8e0cb2a986dc24c263407f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x7a6b40da1f0ee3693b1196b2101d34d3d0a3b6b310520461460632d5c2fdf388",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x5734f7",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a70ccb09",
+ "code" : "",
+ "nonce" : "0x82",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x556a3c03566b04196c534f5612f50167917d72e6ab9b687e10e72dbe0e0f9279"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002"
+ ],
+ "gasLimit" : [
+ "0xc3b8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x82",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_0-3_1_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x01e21b4e183656c647b142e486dd97df94e2e34634fddfb5725400566c894987",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x01e21b4e183656c647b142e486dd97df94e2e34634fddfb5725400566c894987",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x0a52cc38e7792de29eb350018d18a98088bf6debbde35da12d2545ec20d43c90",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x0a52cc38e7792de29eb350018d18a98088bf6debbde35da12d2545ec20d43c90",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x0a52cc38e7792de29eb350018d18a98088bf6debbde35da12d2545ec20d43c90",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x56707f",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a70d8f81",
+ "code" : "",
+ "nonce" : "0x81",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x556a3c03566b04196c534f5612f50167917d72e6ab9b687e10e72dbe0e0f9279"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc478"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x81",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128.json
new file mode 100644
index 000000000..082a33f38
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xc0e4f36b6af703a68a8637e2c06464355b509b574bc1cd6ecc89d5294dfd45ed",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xc0e4f36b6af703a68a8637e2c06464355b509b574bc1cd6ecc89d5294dfd45ed",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xc0e4f36b6af703a68a8637e2c06464355b509b574bc1cd6ecc89d5294dfd45ed",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xc0e4f36b6af703a68a8637e2c06464355b509b574bc1cd6ecc89d5294dfd45ed",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xc0e4f36b6af703a68a8637e2c06464355b509b574bc1cd6ecc89d5294dfd45ed",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x35406e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a72ebf92",
+ "code" : "",
+ "nonce" : "0x4d",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb020"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x4d",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96.json
new file mode 100644
index 000000000..dd7860b43
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x743556196649756f5e5f7184a27fe0bfc7ee15db8e11424a56a05d10e2e227a2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x743556196649756f5e5f7184a27fe0bfc7ee15db8e11424a56a05d10e2e227a2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x743556196649756f5e5f7184a27fe0bfc7ee15db8e11424a56a05d10e2e227a2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x743556196649756f5e5f7184a27fe0bfc7ee15db8e11424a56a05d10e2e227a2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x743556196649756f5e5f7184a27fe0bfc7ee15db8e11424a56a05d10e2e227a2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x3490ce",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a72f6f32",
+ "code" : "",
+ "nonce" : "0x4c",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000"
+ ],
+ "gasLimit" : [
+ "0xafa0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x4c",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_128.json
new file mode 100644
index 000000000..2a6b96fb8
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xbe345729b01741dee57796cf91596f1edfc917247830905945ab3de0fe79cd24",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xbe345729b01741dee57796cf91596f1edfc917247830905945ab3de0fe79cd24",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x9d2d23c4a72cf84f9eaa76c099a172b232060777dbd15244634dc7a42c33a629",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x9d2d23c4a72cf84f9eaa76c099a172b232060777dbd15244634dc7a42c33a629",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x9d2d23c4a72cf84f9eaa76c099a172b232060777dbd15244634dc7a42c33a629",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x71db36",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6f224ca",
+ "code" : "",
+ "nonce" : "0xae",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x289df36ee06bbcd57a9ce2a88d2bcda09715d42f96f7f23c48cdd54e2002f059"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xcb78"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xae",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_96.json
new file mode 100644
index 000000000..76c50ad5a
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_96.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x1309a43504c09ae3bf8957c41195e68e8fc44d750a87843de91860ab458d7adc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x1309a43504c09ae3bf8957c41195e68e8fc44d750a87843de91860ab458d7adc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xc6aaf3a94ad736a422ebdb77ec42ea2cf8ceb750ab7e7a1496e5c463b86c2cd7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xc6aaf3a94ad736a422ebdb77ec42ea2cf8ceb750ab7e7a1496e5c463b86c2cd7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xc6aaf3a94ad736a422ebdb77ec42ea2cf8ceb750ab7e7a1496e5c463b86c2cd7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x71103e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6f2efc2",
+ "code" : "",
+ "nonce" : "0xad",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x289df36ee06bbcd57a9ce2a88d2bcda09715d42f96f7f23c48cdd54e2002f059"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000"
+ ],
+ "gasLimit" : [
+ "0xcaf8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xad",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128.json
new file mode 100644
index 000000000..5a59593c3
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x6008b8826f9e9066e05705127f9225ec751020203da0589e31fed04f3b6d8914",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x6008b8826f9e9066e05705127f9225ec751020203da0589e31fed04f3b6d8914",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x6008b8826f9e9066e05705127f9225ec751020203da0589e31fed04f3b6d8914",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x6008b8826f9e9066e05705127f9225ec751020203da0589e31fed04f3b6d8914",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x6008b8826f9e9066e05705127f9225ec751020203da0589e31fed04f3b6d8914",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x3c40ee",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a727bf12",
+ "code" : "",
+ "nonce" : "0x57",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb060"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x57",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96.json
new file mode 100644
index 000000000..bccb8a126
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x8e9aa4e066aba1cadab54f1c859e3540cbca235de2fba540f6868f650e8f9739",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x8e9aa4e066aba1cadab54f1c859e3540cbca235de2fba540f6868f650e8f9739",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x8e9aa4e066aba1cadab54f1c859e3540cbca235de2fba540f6868f650e8f9739",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x8e9aa4e066aba1cadab54f1c859e3540cbca235de2fba540f6868f650e8f9739",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x8e9aa4e066aba1cadab54f1c859e3540cbca235de2fba540f6868f650e8f9739",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x3b910e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7286ef2",
+ "code" : "",
+ "nonce" : "0x56",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"
+ ],
+ "gasLimit" : [
+ "0xafe0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x56",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128.json
new file mode 100644
index 000000000..512a46cd0
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xdbc6922312592ec95f285d564857a4b616b622c846adafed237da6f4a083fd43",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xdbc6922312592ec95f285d564857a4b616b622c846adafed237da6f4a083fd43",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x6baeb9edd6eb8651735c350c230742d0dd0d380c10360417e11a943257005066",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x6baeb9edd6eb8651735c350c230742d0dd0d380c10360417e11a943257005066",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x6baeb9edd6eb8651735c350c230742d0dd0d380c10360417e11a943257005066",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x782d75",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6ebd28b",
+ "code" : "",
+ "nonce" : "0xb8",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xcbb8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xb8",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96.json
new file mode 100644
index 000000000..400511db1
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_0-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x5c441b6cbaba047ce3ede5320f6bc8871d94a6ade0bfbd8f9ac274deb46e9cca",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x5c441b6cbaba047ce3ede5320f6bc8871d94a6ade0bfbd8f9ac274deb46e9cca",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xc19b60bd45b8c70bc3bbd3b11587eb0e12e7aad39246968329ca63a7b4490a99",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xc19b60bd45b8c70bc3bbd3b11587eb0e12e7aad39246968329ca63a7b4490a99",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xc19b60bd45b8c70bc3bbd3b11587eb0e12e7aad39246968329ca63a7b4490a99",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x77623d",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6ec9dc3",
+ "code" : "",
+ "nonce" : "0xb7",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"
+ ],
+ "gasLimit" : [
+ "0xcb38"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xb7",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_2_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_2_21000_128.json
new file mode 100644
index 000000000..87c4f9c38
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_2_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-3_2_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x41d1fab351adb7b47f0327d5e0ecb633a094cb57d05d0d6754f83738cb9752f2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x41d1fab351adb7b47f0327d5e0ecb633a094cb57d05d0d6754f83738cb9752f2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x41d1fab351adb7b47f0327d5e0ecb633a094cb57d05d0d6754f83738cb9752f2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x41d1fab351adb7b47f0327d5e0ecb633a094cb57d05d0d6754f83738cb9752f2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x41d1fab351adb7b47f0327d5e0ecb633a094cb57d05d0d6754f83738cb9752f2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x1d7dce",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7468232",
+ "code" : "",
+ "nonce" : "0x2a",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa920"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x2a",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_2_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_2_21000_96.json
new file mode 100644
index 000000000..1ea973b88
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_2_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-3_2_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xdec0441ec340ed06bba0bc72cc9ba661b2f60d0e4dffda7b6c933136d242d0b4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xdec0441ec340ed06bba0bc72cc9ba661b2f60d0e4dffda7b6c933136d242d0b4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xdec0441ec340ed06bba0bc72cc9ba661b2f60d0e4dffda7b6c933136d242d0b4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xdec0441ec340ed06bba0bc72cc9ba661b2f60d0e4dffda7b6c933136d242d0b4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xdec0441ec340ed06bba0bc72cc9ba661b2f60d0e4dffda7b6c933136d242d0b4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x1cd52e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7472ad2",
+ "code" : "",
+ "nonce" : "0x29",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002"
+ ],
+ "gasLimit" : [
+ "0xa8a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x29",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_2_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_2_28000_96.json
new file mode 100644
index 000000000..0bc700eea
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_2_28000_96.json
@@ -0,0 +1,665 @@
+{
+ "ecmul_0-0_9_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x0648f7df8736ed49c1d8a3f74475b45b6afc594d3cdd1b46f3616ff2d79a9581",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x0648f7df8736ed49c1d8a3f74475b45b6afc594d3cdd1b46f3616ff2d79a9581",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xb5a757ae482433a8e5a30990b3e07711f53adbe110910f55fa767ddebbe893c2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xb5a757ae482433a8e5a30990b3e07711f53adbe110910f55fa767ddebbe893c2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x0ff007739027bfe32f9e764696bc2dd5891a4ca759396549d979e7030bcddef1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x5d3ef6",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a706c10a",
+ "code" : "",
+ "nonce" : "0x8c",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x94b60ed39c6fe45858b5931190d93861a2d2538991194cdf9a39b5e83dec0827"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009"
+ ],
+ "gasLimit" : [
+ "0xc3b8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x8c",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_0-3_2_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xf2fc6545652aa85582fd9bef08f4cd714ff80b79e0fcaa8b66b97fae1c9e2f1a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xf2fc6545652aa85582fd9bef08f4cd714ff80b79e0fcaa8b66b97fae1c9e2f1a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x27b74715633db195e34fb52353f1a3f9be908ec01b7b580d3e3d25109d72715f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x27b74715633db195e34fb52353f1a3f9be908ec01b7b580d3e3d25109d72715f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x27b74715633db195e34fb52353f1a3f9be908ec01b7b580d3e3d25109d72715f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x5c7a7e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7078582",
+ "code" : "",
+ "nonce" : "0x8b",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x94b60ed39c6fe45858b5931190d93861a2d2538991194cdf9a39b5e83dec0827"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc478"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x8b",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_0-3_2_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x1d0f7b8ac44ff5b3c499f1047c286256045bbae611679d59348c772910af8250",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x1d0f7b8ac44ff5b3c499f1047c286256045bbae611679d59348c772910af8250",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xc4c4be4a35c56b1df83ee04aa925d3b78c8fb25b1bec81ad9ff25d17fb9e9d99",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xc4c4be4a35c56b1df83ee04aa925d3b78c8fb25b1bec81ad9ff25d17fb9e9d99",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xc4c4be4a35c56b1df83ee04aa925d3b78c8fb25b1bec81ad9ff25d17fb9e9d99",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x5bb686",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a708497a",
+ "code" : "",
+ "nonce" : "0x8a",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x94b60ed39c6fe45858b5931190d93861a2d2538991194cdf9a39b5e83dec0827"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002"
+ ],
+ "gasLimit" : [
+ "0xc3f8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x8a",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_21000_128.json
new file mode 100644
index 000000000..88647852a
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-3_340282366920938463463374607431768211456_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x27d80d1dfa89bf0b22333d33cdf3fa7dd18fb841af48508f1b10bc7873e2661a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x27d80d1dfa89bf0b22333d33cdf3fa7dd18fb841af48508f1b10bc7873e2661a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x27d80d1dfa89bf0b22333d33cdf3fa7dd18fb841af48508f1b10bc7873e2661a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x27d80d1dfa89bf0b22333d33cdf3fa7dd18fb841af48508f1b10bc7873e2661a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x27d80d1dfa89bf0b22333d33cdf3fa7dd18fb841af48508f1b10bc7873e2661a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x2da08e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7365f72",
+ "code" : "",
+ "nonce" : "0x42",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa920"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x42",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_21000_80.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_21000_80.json
new file mode 100644
index 000000000..d393b3f00
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_21000_80.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-3_340282366920938463463374607431768211456_21000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xd7a595b5f61307e92c32a58073601d93296da7e85d38cb9910269aac3e42da3a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xd7a595b5f61307e92c32a58073601d93296da7e85d38cb9910269aac3e42da3a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xd7a595b5f61307e92c32a58073601d93296da7e85d38cb9910269aac3e42da3a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xd7a595b5f61307e92c32a58073601d93296da7e85d38cb9910269aac3e42da3a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xd7a595b5f61307e92c32a58073601d93296da7e85d38cb9910269aac3e42da3a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x2e49ae",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a735b652",
+ "code" : "",
+ "nonce" : "0x43",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa8a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x43",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_21000_96.json
new file mode 100644
index 000000000..3fbda5df3
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-3_340282366920938463463374607431768211456_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xd8c879d22b4674868bf577f46460b3bf07137d340a8e9abc3266ae9dfe6315b0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xd8c879d22b4674868bf577f46460b3bf07137d340a8e9abc3266ae9dfe6315b0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xd8c879d22b4674868bf577f46460b3bf07137d340a8e9abc3266ae9dfe6315b0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xd8c879d22b4674868bf577f46460b3bf07137d340a8e9abc3266ae9dfe6315b0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xd8c879d22b4674868bf577f46460b3bf07137d340a8e9abc3266ae9dfe6315b0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x2cf7ee",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7370812",
+ "code" : "",
+ "nonce" : "0x41",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa8a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x41",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_28000_80.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_28000_80.json
new file mode 100644
index 000000000..ad96a0020
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_28000_80.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_0-0_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 0) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x9cf55f3f692ef03e1791d5c99133b7fa9d6412e58bd9f7aba017624f06e15e12",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x9cf55f3f692ef03e1791d5c99133b7fa9d6412e58bd9f7aba017624f06e15e12",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xb6b401a215e62c4a65a24fc645501353ef1a1f6272225cf66c7211525f25aed0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xb6b401a215e62c4a65a24fc645501353ef1a1f6272225cf66c7211525f25aed0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xf4f1b18058bc51471f31721db780480ebb7459b607fd41c54114732d6708955b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x6c56af",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6f7a951",
+ "code" : "",
+ "nonce" : "0xa5",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xa97df6032909972db52b8144798569bb6169ec8b3e065841da96b3d866aa131e"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000"
+ ],
+ "gasLimit" : [
+ "0xcab8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xa5",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_0-3_340282366920938463463374607431768211456_28000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xf56dfe78415272d8426f954c7562d2348ec078a76ff2640eb17b866d46b321fd",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xf56dfe78415272d8426f954c7562d2348ec078a76ff2640eb17b866d46b321fd",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x86005d9cdf47c52563ba858b9ca39e7a1b8416bc5b2bc4cfa675141d3f591460",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x86005d9cdf47c52563ba858b9ca39e7a1b8416bc5b2bc4cfa675141d3f591460",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x86005d9cdf47c52563ba858b9ca39e7a1b8416bc5b2bc4cfa675141d3f591460",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x6b92b7",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6f86d49",
+ "code" : "",
+ "nonce" : "0xa4",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xa97df6032909972db52b8144798569bb6169ec8b3e065841da96b3d866aa131e"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc3f8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xa4",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_28000_96.json
new file mode 100644
index 000000000..fb7f15fbf
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_340282366920938463463374607431768211456_28000_96.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_0-3_340282366920938463463374607431768211456_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xecb997a80061c472143ab8a27d248dd98d1eb64450095248e11146ab9e1b122c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xecb997a80061c472143ab8a27d248dd98d1eb64450095248e11146ab9e1b122c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x8ff54040a19f55a2e2dc998b38110271a6b61c5ad8e68307cef2ffee0eca5368",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x8ff54040a19f55a2e2dc998b38110271a6b61c5ad8e68307cef2ffee0eca5368",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x8ff54040a19f55a2e2dc998b38110271a6b61c5ad8e68307cef2ffee0eca5368",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x6ace3f",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6f931c1",
+ "code" : "",
+ "nonce" : "0xa3",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xa97df6032909972db52b8144798569bb6169ec8b3e065841da96b3d866aa131e"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc478"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xa3",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_0-3_340282366920938463463374607431768211456_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x81bde729623533559f171185845f26ef1eba16ff25f5911fd0052b661fc1ce04",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x81bde729623533559f171185845f26ef1eba16ff25f5911fd0052b661fc1ce04",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x44e85fd6b0ec8948d30d0a08423fce5f59367bc736b34c0d32b9a15a3ea71327",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x44e85fd6b0ec8948d30d0a08423fce5f59367bc736b34c0d32b9a15a3ea71327",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x44e85fd6b0ec8948d30d0a08423fce5f59367bc736b34c0d32b9a15a3ea71327",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x6a0a47",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6f9f5b9",
+ "code" : "",
+ "nonce" : "0xa2",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xa97df6032909972db52b8144798569bb6169ec8b3e065841da96b3d866aa131e"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc3f8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xa2",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_9_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_9_21000_128.json
new file mode 100644
index 000000000..082756e19
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_9_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-3_9_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x99a2f900d8362a2796e5a13813b94c98bf9ed5fe1d294f80904b09faaf40893b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x99a2f900d8362a2796e5a13813b94c98bf9ed5fe1d294f80904b09faaf40893b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x99a2f900d8362a2796e5a13813b94c98bf9ed5fe1d294f80904b09faaf40893b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x99a2f900d8362a2796e5a13813b94c98bf9ed5fe1d294f80904b09faaf40893b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x99a2f900d8362a2796e5a13813b94c98bf9ed5fe1d294f80904b09faaf40893b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x24360e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a73fc9f2",
+ "code" : "",
+ "nonce" : "0x34",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa920"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x34",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_9_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_9_21000_96.json
new file mode 100644
index 000000000..f3ccc6db2
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_9_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_0-3_9_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x618a348e7107ef322cd234fb11ab7c60f1cdb52278a0a29d1d14cb6788f55298",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x618a348e7107ef322cd234fb11ab7c60f1cdb52278a0a29d1d14cb6788f55298",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x618a348e7107ef322cd234fb11ab7c60f1cdb52278a0a29d1d14cb6788f55298",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x618a348e7107ef322cd234fb11ab7c60f1cdb52278a0a29d1d14cb6788f55298",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x618a348e7107ef322cd234fb11ab7c60f1cdb52278a0a29d1d14cb6788f55298",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x238d6e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7407292",
+ "code" : "",
+ "nonce" : "0x33",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000009"
+ ],
+ "gasLimit" : [
+ "0xa8a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x33",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_0-3_9_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_9_28000_96.json
new file mode 100644
index 000000000..382eb884b
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_0-3_9_28000_96.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_0-3_9_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xc5e97f804aa0708ba41565db74714800306141bc76420b833b132f1e348a856d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xc5e97f804aa0708ba41565db74714800306141bc76420b833b132f1e348a856d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x7ca8fc2d2040fde8de04ef20decd50a2a66f8e9cc66a3d08ef2d8cf87b31203a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x7ca8fc2d2040fde8de04ef20decd50a2a66f8e9cc66a3d08ef2d8cf87b31203a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x7ca8fc2d2040fde8de04ef20decd50a2a66f8e9cc66a3d08ef2d8cf87b31203a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x62847d",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7017b83",
+ "code" : "",
+ "nonce" : "0x95",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xf348aa9f55b137fd60af9c782c04ea7c52c0b193972d1c3aa63d78a110fa2e20"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc478"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x95",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_0-3_9_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x483a2318156d4693aabbe813036b4c2735b7156db6e2ef83bb37ef5b70d4e9c9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x483a2318156d4693aabbe813036b4c2735b7156db6e2ef83bb37ef5b70d4e9c9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xe711366887bf2eac2815eb0f0fcb8a57a6806623f00e2732447f468590dde992",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xe711366887bf2eac2815eb0f0fcb8a57a6806623f00e2732447f468590dde992",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xe711366887bf2eac2815eb0f0fcb8a57a6806623f00e2732447f468590dde992",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x61c085",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7023f7b",
+ "code" : "",
+ "nonce" : "0x94",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xf348aa9f55b137fd60af9c782c04ea7c52c0b193972d1c3aa63d78a110fa2e20"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000009"
+ ],
+ "gasLimit" : [
+ "0xc3f8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x94",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_21000_128.json
new file mode 100644
index 000000000..9e73ad795
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-2_0_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x813882903a9c3da7bd6d75214f25b55898aeae388f809d746cd25460696d2542",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x813882903a9c3da7bd6d75214f25b55898aeae388f809d746cd25460696d2542",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x813882903a9c3da7bd6d75214f25b55898aeae388f809d746cd25460696d2542",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x813882903a9c3da7bd6d75214f25b55898aeae388f809d746cd25460696d2542",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x813882903a9c3da7bd6d75214f25b55898aeae388f809d746cd25460696d2542",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x06990e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a75d66f2",
+ "code" : "",
+ "nonce" : "0x08",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa920"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x8",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_21000_64.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_21000_64.json
new file mode 100644
index 000000000..4b76e6f69
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_21000_64.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-2_0_21000_64" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 64 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x6ba9178ca09fdf119426e809cccff7449f19522bd562f989333a30e870088053",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x6ba9178ca09fdf119426e809cccff7449f19522bd562f989333a30e870088053",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x6ba9178ca09fdf119426e809cccff7449f19522bd562f989333a30e870088053",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x6ba9178ca09fdf119426e809cccff7449f19522bd562f989333a30e870088053",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x6ba9178ca09fdf119426e809cccff7449f19522bd562f989333a30e870088053",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x07422e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a75cbdd2",
+ "code" : "",
+ "nonce" : "0x09",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002"
+ ],
+ "gasLimit" : [
+ "0xa820"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x9",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_21000_80.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_21000_80.json
new file mode 100644
index 000000000..14790deca
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_21000_80.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-2_0_21000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x1e4d8647fd838e80a081a069c14e553fc488531e005a7d3e0925104d43b0fee1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x1e4d8647fd838e80a081a069c14e553fc488531e005a7d3e0925104d43b0fee1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x1e4d8647fd838e80a081a069c14e553fc488531e005a7d3e0925104d43b0fee1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x1e4d8647fd838e80a081a069c14e553fc488531e005a7d3e0925104d43b0fee1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x1e4d8647fd838e80a081a069c14e553fc488531e005a7d3e0925104d43b0fee1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x07ea4e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a75c15b2",
+ "code" : "",
+ "nonce" : "0x0a",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa8a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xa",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_21000_96.json
new file mode 100644
index 000000000..b1afa3716
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-2_0_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xe06ed52092167e20e100bfc9bbe104797f2063c5bc9cdb19f1b10bd769364303",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xe06ed52092167e20e100bfc9bbe104797f2063c5bc9cdb19f1b10bd769364303",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xe06ed52092167e20e100bfc9bbe104797f2063c5bc9cdb19f1b10bd769364303",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xe06ed52092167e20e100bfc9bbe104797f2063c5bc9cdb19f1b10bd769364303",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xe06ed52092167e20e100bfc9bbe104797f2063c5bc9cdb19f1b10bd769364303",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x05f06e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a75e0f92",
+ "code" : "",
+ "nonce" : "0x07",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa8a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x7",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_28000_128.json
new file mode 100644
index 000000000..e9db8a227
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_1-2_0_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x9774d7e6acecc0d1c2bf6ed5a589dbd0cba877cd54c439c89cf31a8f25a0c14a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x9774d7e6acecc0d1c2bf6ed5a589dbd0cba877cd54c439c89cf31a8f25a0c14a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x3e203675c1c69a67c53807844f4e25ce755a189d2cffe6478b9c901b4b6e7122",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x3e203675c1c69a67c53807844f4e25ce755a189d2cffe6478b9c901b4b6e7122",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xe8732a3a7e9fed6bd6a71925bcba5f749010d64a28f5d4e9cd6c82ea106a8d96",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x477dc9",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a71c8237",
+ "code" : "",
+ "nonce" : "0x69",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc478"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x69",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_28000_64.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_28000_64.json
new file mode 100644
index 000000000..0f548ce88
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_28000_64.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_1-2_0_28000_64" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 64 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xc1587bb183a184690525ec557c89f13e1ad328dfbbd733c045847e60e3139b56",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xc1587bb183a184690525ec557c89f13e1ad328dfbbd733c045847e60e3139b56",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xf213334c512f030277b1d75824256745275c2fd9da7d6eecb3aba3e437f7bfd2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xf213334c512f030277b1d75824256745275c2fd9da7d6eecb3aba3e437f7bfd2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x146e0d962d768badd3ae24186d3e39b21415ee39bae1f0d88dea507570ad0313",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x47f7a5",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a71c085b",
+ "code" : "",
+ "nonce" : "0x6a",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002"
+ ],
+ "gasLimit" : [
+ "0xc378"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x6a",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_28000_80.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_28000_80.json
new file mode 100644
index 000000000..c3e13e4ca
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_28000_80.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_1-2_0_28000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x502dadb7bc58dd7aaddca3f98183d18bdbc3b87432d81712f1283c910b307347",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x502dadb7bc58dd7aaddca3f98183d18bdbc3b87432d81712f1283c910b307347",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xd119d308eb898e38806ecd46c0bcf5e1597386cbb094a7e1c349f09aa0bf8e2c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xd119d308eb898e38806ecd46c0bcf5e1597386cbb094a7e1c349f09aa0bf8e2c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xd9d963f60e58ac5491b9b37a2b841a470244fc5b036ddd680b957e9874f44ae0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x48707b",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a71b8f85",
+ "code" : "",
+ "nonce" : "0x6b",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc3f8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x6b",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_28000_96.json
new file mode 100644
index 000000000..8c9d8ad00
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_0_28000_96.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_1-2_0_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x772155e9c25ad72eacb3e964f9a45e5445e061d5758f0b0e54428bae417df9e2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x772155e9c25ad72eacb3e964f9a45e5445e061d5758f0b0e54428bae417df9e2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xcd0fd6b0465947e552023278ac11f2a92dbde984991cf45e3f2a43621567fff0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xcd0fd6b0465947e552023278ac11f2a92dbde984991cf45e3f2a43621567fff0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xede1fe8d159892955f08843d354f2ac0fa79120308d7c5f9cdd0b75ab6313bb7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x470470",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a71cfb90",
+ "code" : "",
+ "nonce" : "0x68",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc3f8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x68",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_128.json
new file mode 100644
index 000000000..0b4c1213a
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_128.json
@@ -0,0 +1,442 @@
+{
+ "ecmul_1-2_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x533b26e76f9084e68bd6e607671d8cc8bdad51d3f588bf755de30708fc4be128",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x533b26e76f9084e68bd6e607671d8cc8bdad51d3f588bf755de30708fc4be128",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x533b26e76f9084e68bd6e607671d8cc8bdad51d3f588bf755de30708fc4be128",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x533b26e76f9084e68bd6e607671d8cc8bdad51d3f588bf755de30708fc4be128",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x533b26e76f9084e68bd6e607671d8cc8bdad51d3f588bf755de30708fc4be128",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x3f02ae",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a724fd52",
+ "code" : "",
+ "nonce" : "0x5b",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb120"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x5b",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x40193e8a8d95765301612e2040fa36845499448c16786e68440f1b3569c07820",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x40193e8a8d95765301612e2040fa36845499448c16786e68440f1b3569c07820",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x40193e8a8d95765301612e2040fa36845499448c16786e68440f1b3569c07820",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x40193e8a8d95765301612e2040fa36845499448c16786e68440f1b3569c07820",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x40193e8a8d95765301612e2040fa36845499448c16786e68440f1b3569c07820",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x3fb3ce",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7244c32",
+ "code" : "",
+ "nonce" : "0x5c",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000601a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+ ],
+ "gasLimit" : [
+ "0xbfe0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x5c",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128.json
new file mode 100644
index 000000000..b12f76205
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_1-2_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x54bead3756c61f9e5ba8859e3fc73cc588656cdef5e4f23c52d785ccc62ae57c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x54bead3756c61f9e5ba8859e3fc73cc588656cdef5e4f23c52d785ccc62ae57c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xbbc69ff06cd6bca8f7eb87e3ffca52c5372519989e67b60a0c98156702e4669e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xbbc69ff06cd6bca8f7eb87e3ffca52c5372519989e67b60a0c98156702e4669e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xf78e65eb69e58843f9f24f71bab6ce0d1161c89e8c9c1c7c7268dfbde0186598",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x7a7cbb",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6e98345",
+ "code" : "",
+ "nonce" : "0xbc",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xa34b6e4f9c282ff62c1e6f53fd92ad8efd8346d9866333a95ab4506a8158afc7"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xcc78"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xbc",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96.json
new file mode 100644
index 000000000..f01d7db17
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_1-2_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x42284d971cf4355ec7d0c370c845011a1d3876f1d036d19f3f7e8ad87a0aab78",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x42284d971cf4355ec7d0c370c845011a1d3876f1d036d19f3f7e8ad87a0aab78",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xd6a494368f1aa5a0cf08b745e808a0beea29acf48ebed213289f20eef3ed08dc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xd6a494368f1aa5a0cf08b745e808a0beea29acf48ebed213289f20eef3ed08dc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x97d0e4eec33ea19ccdd70128bbdef9ab5792eb7dfacdef4e249adde022dc7e98",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x79fb62",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6ea049e",
+ "code" : "",
+ "nonce" : "0xbb",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+ ],
+ "gasLimit" : [
+ "0xcbf8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xbb",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_1_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_1_21000_128.json
new file mode 100644
index 000000000..effeec77c
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_1_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-2_1_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x4e07b106efb54c4efc31ae393392705c1e28307717060907620c4ee492742525",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x4e07b106efb54c4efc31ae393392705c1e28307717060907620c4ee492742525",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x4e07b106efb54c4efc31ae393392705c1e28307717060907620c4ee492742525",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x4e07b106efb54c4efc31ae393392705c1e28307717060907620c4ee492742525",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x4e07b106efb54c4efc31ae393392705c1e28307717060907620c4ee492742525",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x12b08e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7514f72",
+ "code" : "",
+ "nonce" : "0x1a",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa960"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x1a",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_1_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_1_21000_96.json
new file mode 100644
index 000000000..a98524e91
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_1_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-2_1_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x3fb7bf2eeb05b0b57b0b20e356eb671b1187f826f040daef724070fdc2148a1b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x3fb7bf2eeb05b0b57b0b20e356eb671b1187f826f040daef724070fdc2148a1b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x3fb7bf2eeb05b0b57b0b20e356eb671b1187f826f040daef724070fdc2148a1b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x3fb7bf2eeb05b0b57b0b20e356eb671b1187f826f040daef724070fdc2148a1b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x3fb7bf2eeb05b0b57b0b20e356eb671b1187f826f040daef724070fdc2148a1b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x1207ae",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a751f852",
+ "code" : "",
+ "nonce" : "0x19",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001"
+ ],
+ "gasLimit" : [
+ "0xa8e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x19",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_1_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_1_28000_128.json
new file mode 100644
index 000000000..ebca2dc30
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_1_28000_128.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_1-2_1_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x392ef017c54ac343289c865f4c9bbf7498f7d4020958dd2679af4b99f9ae955c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x392ef017c54ac343289c865f4c9bbf7498f7d4020958dd2679af4b99f9ae955c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x9898f1789c61ce1f447e4321baa11e9b793d6b35316d530c8a84ea717935261d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x9898f1789c61ce1f447e4321baa11e9b793d6b35316d530c8a84ea717935261d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x82631f4fbc05996922ad7da35ded7ebf24d8dbaf49e8ebeb7e3ad1cf98969df7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x529746",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a71168ba",
+ "code" : "",
+ "nonce" : "0x7b",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc4b8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x7b",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_1_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x8fd9c296c394459357e2ce18eaeb420aa6ee63883e4248b6041e0457979cee49",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x8fd9c296c394459357e2ce18eaeb420aa6ee63883e4248b6041e0457979cee49",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x4d2d1e60d72ecef08277f7565e5347d06a2ff409bab86c3ca8f017396ba10974",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x4d2d1e60d72ecef08277f7565e5347d06a2ff409bab86c3ca8f017396ba10974",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x634f25dde1e94f7830d2efffd99aa9844ed6eabe5feeecd39ab7e148c2cf5ab0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x531162",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a710ee9e",
+ "code" : "",
+ "nonce" : "0x7c",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000601a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f60000000000000000000000000000000000000000000000000000000000000001"
+ ],
+ "gasLimit" : [
+ "0xd378"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x7c",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128.json
new file mode 100644
index 000000000..8408e142a
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x2035cb91d2aa591f4697eae9c22a2bf564436f7e2c8c4f569fd92de06f30a334",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x2035cb91d2aa591f4697eae9c22a2bf564436f7e2c8c4f569fd92de06f30a334",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x2035cb91d2aa591f4697eae9c22a2bf564436f7e2c8c4f569fd92de06f30a334",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x2035cb91d2aa591f4697eae9c22a2bf564436f7e2c8c4f569fd92de06f30a334",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x2035cb91d2aa591f4697eae9c22a2bf564436f7e2c8c4f569fd92de06f30a334",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x31016e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a732fe92",
+ "code" : "",
+ "nonce" : "0x47",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb060"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x47",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96.json
new file mode 100644
index 000000000..d32d6bc64
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x5489de0ba684368b559eef993a7201a740f0482be74e3bc745d7084f636b4aa5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x5489de0ba684368b559eef993a7201a740f0482be74e3bc745d7084f636b4aa5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x5489de0ba684368b559eef993a7201a740f0482be74e3bc745d7084f636b4aa5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x5489de0ba684368b559eef993a7201a740f0482be74e3bc745d7084f636b4aa5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x5489de0ba684368b559eef993a7201a740f0482be74e3bc745d7084f636b4aa5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x30518e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a733ae72",
+ "code" : "",
+ "nonce" : "0x46",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000"
+ ],
+ "gasLimit" : [
+ "0xafe0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x46",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_128.json
new file mode 100644
index 000000000..0575de9e7
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x888b32f37f6e03845a8ef47ef3c7be89f741b0818b902a458c2c597476ca2ab1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x888b32f37f6e03845a8ef47ef3c7be89f741b0818b902a458c2c597476ca2ab1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xe7c4e96fc89b1c4bcc2b413368c20af0aae648d29c1fd174e4e23f48b7b36deb",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xe7c4e96fc89b1c4bcc2b413368c20af0aae648d29c1fd174e4e23f48b7b36deb",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x4769098f041ae1d0455371b9e39d790de0d6bb353250bb19c27dfed2640e54ea",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x6dd7fd",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6f62803",
+ "code" : "",
+ "nonce" : "0xa8",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xac1de87792e425a22b81bdf624dc1b24fee26f16e9a879172aebc261cc51a2fe"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xcbb8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xa8",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128.json
new file mode 100644
index 000000000..e43468f4c
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128.json
@@ -0,0 +1,442 @@
+{
+ "ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x580d7fb89bcc858b53c7182c06b038dfcbd43ced9e4695ae897811a0a4e45e60",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x580d7fb89bcc858b53c7182c06b038dfcbd43ced9e4695ae897811a0a4e45e60",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x580d7fb89bcc858b53c7182c06b038dfcbd43ced9e4695ae897811a0a4e45e60",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x580d7fb89bcc858b53c7182c06b038dfcbd43ced9e4695ae897811a0a4e45e60",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x580d7fb89bcc858b53c7182c06b038dfcbd43ced9e4695ae897811a0a4e45e60",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x38006e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a72bff92",
+ "code" : "",
+ "nonce" : "0x51",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb0a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x51",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xd85ea4c964547e07e784e5dd0e805bf1e0e39b5f0c0e758d028563ffee8e9813",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xd85ea4c964547e07e784e5dd0e805bf1e0e39b5f0c0e758d028563ffee8e9813",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xd85ea4c964547e07e784e5dd0e805bf1e0e39b5f0c0e758d028563ffee8e9813",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xd85ea4c964547e07e784e5dd0e805bf1e0e39b5f0c0e758d028563ffee8e9813",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xd85ea4c964547e07e784e5dd0e805bf1e0e39b5f0c0e758d028563ffee8e9813",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x38b10e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a72b4ef2",
+ "code" : "",
+ "nonce" : "0x52",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000601a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f630644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"
+ ],
+ "gasLimit" : [
+ "0xbf60"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x52",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96.json
new file mode 100644
index 000000000..0547ed44f
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x13b53209558a27ce43ac619822e80896bf66f12e545556bd77be0d69ea9fb085",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x13b53209558a27ce43ac619822e80896bf66f12e545556bd77be0d69ea9fb085",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x13b53209558a27ce43ac619822e80896bf66f12e545556bd77be0d69ea9fb085",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x13b53209558a27ce43ac619822e80896bf66f12e545556bd77be0d69ea9fb085",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x13b53209558a27ce43ac619822e80896bf66f12e545556bd77be0d69ea9fb085",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x37504e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a72cafb2",
+ "code" : "",
+ "nonce" : "0x50",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"
+ ],
+ "gasLimit" : [
+ "0xb020"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x50",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128.json
new file mode 100644
index 000000000..122394cc8
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x83dcb06ac56b9ccadb24a11c55d3fd2504d36e69e72b331b21b64d3dd51c192b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x83dcb06ac56b9ccadb24a11c55d3fd2504d36e69e72b331b21b64d3dd51c192b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x3bd3310eb0392460a0bb17780f6f38e8b3fa56673f7382c7f1a4a7719bd51b1e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x3bd3310eb0392460a0bb17780f6f38e8b3fa56673f7382c7f1a4a7719bd51b1e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x1b83b9bb145ccd01ea019c66438066c7f97a132266bb9d444dc2169a76efe9ef",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x7428bc",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6efd744",
+ "code" : "",
+ "nonce" : "0xb2",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xcbf8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xb2",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96.json
new file mode 100644
index 000000000..ffcb5077e
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_1-2_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x56eeef1fe379017add717f73af456f2889ccf4c068fd9ffb278692d5185dd06e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x56eeef1fe379017add717f73af456f2889ccf4c068fd9ffb278692d5185dd06e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xd497af05b68ced90bdd6d490f68eb2adc3f3efc3a83f946ff1b9bab25fd02ffb",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xd497af05b68ced90bdd6d490f68eb2adc3f3efc3a83f946ff1b9bab25fd02ffb",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x5bd15cf493e038d3ea64a5b0388a78140599668d14ba269cc0e93ea053f49767",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x73a7e3",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6f0581d",
+ "code" : "",
+ "nonce" : "0xb1",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000230644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"
+ ],
+ "gasLimit" : [
+ "0xcb78"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xb1",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_2_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_2_21000_128.json
new file mode 100644
index 000000000..84c864c64
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_2_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-2_2_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xd378cb4726076aa3b504107351f7e60102c96f64c5c194aba5dd86c8de781c7f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xd378cb4726076aa3b504107351f7e60102c96f64c5c194aba5dd86c8de781c7f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xd378cb4726076aa3b504107351f7e60102c96f64c5c194aba5dd86c8de781c7f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xd378cb4726076aa3b504107351f7e60102c96f64c5c194aba5dd86c8de781c7f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xd378cb4726076aa3b504107351f7e60102c96f64c5c194aba5dd86c8de781c7f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x1968ce",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a74a9732",
+ "code" : "",
+ "nonce" : "0x24",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa960"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x24",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_2_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_2_21000_96.json
new file mode 100644
index 000000000..d044d50ba
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_2_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-2_2_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x48ab4af4dbae4b35f110292b2bcc34161c6a6678d988842329cb4407bb75da3c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x48ab4af4dbae4b35f110292b2bcc34161c6a6678d988842329cb4407bb75da3c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x48ab4af4dbae4b35f110292b2bcc34161c6a6678d988842329cb4407bb75da3c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x48ab4af4dbae4b35f110292b2bcc34161c6a6678d988842329cb4407bb75da3c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x48ab4af4dbae4b35f110292b2bcc34161c6a6678d988842329cb4407bb75da3c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x18bfee",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a74b4012",
+ "code" : "",
+ "nonce" : "0x23",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002"
+ ],
+ "gasLimit" : [
+ "0xa8e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x23",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_2_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_2_28000_128.json
new file mode 100644
index 000000000..90d983138
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_2_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_1-2_2_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x9d644ad16970c218f666a069136c15b3e604ff8782e48263085392685277139a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x9d644ad16970c218f666a069136c15b3e604ff8782e48263085392685277139a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x324e29720e45c6983860c35a289210e25c3ee20fbac7a9c6d84ebda6b414596c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x324e29720e45c6983860c35a289210e25c3ee20fbac7a9c6d84ebda6b414596c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x1026615cf8ac5436d8ae4abc876632f72f38540d40470e6ee5cb4b425e38235d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x58a145",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a70b5ebb",
+ "code" : "",
+ "nonce" : "0x85",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x8a5045bc7a493061be89fdbc32ea8ae69e8d8b55ebe445fa41fa534b1543ab50"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc4b8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x85",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_21000_128.json
new file mode 100644
index 000000000..493dbd2d8
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-2_340282366920938463463374607431768211456_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x9b4e59298af76349b2e69cf25d739e470388e22adbb33f0948b0ea0fe6d08a87",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x9b4e59298af76349b2e69cf25d739e470388e22adbb33f0948b0ea0fe6d08a87",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x9b4e59298af76349b2e69cf25d739e470388e22adbb33f0948b0ea0fe6d08a87",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x9b4e59298af76349b2e69cf25d739e470388e22adbb33f0948b0ea0fe6d08a87",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x9b4e59298af76349b2e69cf25d739e470388e22adbb33f0948b0ea0fe6d08a87",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x2781ae",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a73c7e52",
+ "code" : "",
+ "nonce" : "0x39",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa960"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x39",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_21000_80.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_21000_80.json
new file mode 100644
index 000000000..584b3295a
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_21000_80.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-2_340282366920938463463374607431768211456_21000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x2b340461a39dbab2d361ca3dd8192b34266a72944cab376dbeea0c04decb8200",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x2b340461a39dbab2d361ca3dd8192b34266a72944cab376dbeea0c04decb8200",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x2b340461a39dbab2d361ca3dd8192b34266a72944cab376dbeea0c04decb8200",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x2b340461a39dbab2d361ca3dd8192b34266a72944cab376dbeea0c04decb8200",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x2b340461a39dbab2d361ca3dd8192b34266a72944cab376dbeea0c04decb8200",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x282b0e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a73bd4f2",
+ "code" : "",
+ "nonce" : "0x3a",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa8e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x3a",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_21000_96.json
new file mode 100644
index 000000000..132760fab
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-2_340282366920938463463374607431768211456_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xee43d77e1b1082687e390f799ed6f03f7e7817643020a419a4242fc59bd23ef9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xee43d77e1b1082687e390f799ed6f03f7e7817643020a419a4242fc59bd23ef9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xee43d77e1b1082687e390f799ed6f03f7e7817643020a419a4242fc59bd23ef9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xee43d77e1b1082687e390f799ed6f03f7e7817643020a419a4242fc59bd23ef9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xee43d77e1b1082687e390f799ed6f03f7e7817643020a419a4242fc59bd23ef9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x26d8ce",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a73d2732",
+ "code" : "",
+ "nonce" : "0x38",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa8e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x38",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_28000_128.json
new file mode 100644
index 000000000..44c0eaad4
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_340282366920938463463374607431768211456_28000_128.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_1-2_340282366920938463463374607431768211456_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x906670294fb3fd7274278359c9460e202ac35ee9ba3d39f7c871ab5f8764a86e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x906670294fb3fd7274278359c9460e202ac35ee9ba3d39f7c871ab5f8764a86e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xaa70ec0be0b531a58f1796679f0a53c3ffc389bbb04247f7a61f8a5fc321ae8c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xaa70ec0be0b531a58f1796679f0a53c3ffc389bbb04247f7a61f8a5fc321ae8c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x32997bab5b01e1b91a063bc9a884e07d39294a822a6150e675014091ef1cf9b2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x652e5c",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6fed1a4",
+ "code" : "",
+ "nonce" : "0x9a",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x0467d6413c98fb304cd61014865afdb7b3b81fa53f7ef4046e6a833162c5bb5c"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc4b8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x9a",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_1-2_340282366920938463463374607431768211456_28000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x5b32a248064b345f26be71e2bd1a9eec9076db475001978a6ae8f50eee49877c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x5b32a248064b345f26be71e2bd1a9eec9076db475001978a6ae8f50eee49877c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xf90806005751b660d661a065d82f62095a60bff8f60748a013ae09698bd35e04",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xf90806005751b660d661a065d82f62095a60bff8f60748a013ae09698bd35e04",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x6b50a567f3d446444fc4e7381777d5b4c2c7c7bb5828ba3214ac6a10bbc42464",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x65a878",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6fe5788",
+ "code" : "",
+ "nonce" : "0x9b",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x0467d6413c98fb304cd61014865afdb7b3b81fa53f7ef4046e6a833162c5bb5c"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc438"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x9b",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_21000_128.json
new file mode 100644
index 000000000..55b91432b
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-2_9_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x998d44434f8220cea0b68abc4b22ef3c2eb770cc0ba95e9bae94cdf59e89349c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x998d44434f8220cea0b68abc4b22ef3c2eb770cc0ba95e9bae94cdf59e89349c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x998d44434f8220cea0b68abc4b22ef3c2eb770cc0ba95e9bae94cdf59e89349c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x998d44434f8220cea0b68abc4b22ef3c2eb770cc0ba95e9bae94cdf59e89349c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x998d44434f8220cea0b68abc4b22ef3c2eb770cc0ba95e9bae94cdf59e89349c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x20210e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a743def2",
+ "code" : "",
+ "nonce" : "0x2e",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa960"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x2e",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_21000_96.json
new file mode 100644
index 000000000..3de91abc5
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-2_9_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x5bf74431a893266671b2a8bb304893221b86293f4a6c5e8b51ddb0d9dda4eb6a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x5bf74431a893266671b2a8bb304893221b86293f4a6c5e8b51ddb0d9dda4eb6a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x5bf74431a893266671b2a8bb304893221b86293f4a6c5e8b51ddb0d9dda4eb6a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x5bf74431a893266671b2a8bb304893221b86293f4a6c5e8b51ddb0d9dda4eb6a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x5bf74431a893266671b2a8bb304893221b86293f4a6c5e8b51ddb0d9dda4eb6a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x1f782e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a74487d2",
+ "code" : "",
+ "nonce" : "0x2d",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000009"
+ ],
+ "gasLimit" : [
+ "0xa8e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x2d",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_28000_96.json
new file mode 100644
index 000000000..f94f3b905
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-2_9_28000_96.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_1-2_9_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x9995a138c0bbba1d517eed14d37792a9a7bb1c2e4ce2f468abbec5c2f7371fad",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x9995a138c0bbba1d517eed14d37792a9a7bb1c2e4ce2f468abbec5c2f7371fad",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x4829227c9c407e31ee67961599854e13f292e999aaaf2c2d36bc635f3b263b0d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x4829227c9c407e31ee67961599854e13f292e999aaaf2c2d36bc635f3b263b0d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xc64f5de3fc4e505e297912bb5efebb28386dc8ca420b20ae28009b0816026c8a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x5eab44",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a70554bc",
+ "code" : "",
+ "nonce" : "0x8f",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xc7b29565a7dd9915e6fd86d026aef2fc454506bae7f90e2f2bec5f25f01b2d95"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc4b8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x8f",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_1-2_9_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 2) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xba1cb4052310b4221c99e4d7dd51e4beb080e0a81b31f72d92ae212155548a35",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xba1cb4052310b4221c99e4d7dd51e4beb080e0a81b31f72d92ae212155548a35",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x13d6c4c98254e1d964c14cc0818bec2f19a795739c29977e37e3a8016aa99c3e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x13d6c4c98254e1d964c14cc0818bec2f19a795739c29977e37e3a8016aa99c3e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xaca426c8c59e8eab6c4b79975c54d3fae21ce7da7f8b27c28840f0f8f0ada912",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x5e31ab",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a705ce55",
+ "code" : "",
+ "nonce" : "0x8e",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000009"
+ ],
+ "gasLimit" : [
+ "0xc438"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x8e",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_128.json
new file mode 100644
index 000000000..1cbf2f9ce
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-3_0_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x33d0425450709be4b080e4832002742ffc7b59c43a88bd324c661115457b961f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x33d0425450709be4b080e4832002742ffc7b59c43a88bd324c661115457b961f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x33d0425450709be4b080e4832002742ffc7b59c43a88bd324c661115457b961f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x33d0425450709be4b080e4832002742ffc7b59c43a88bd324c661115457b961f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x33d0425450709be4b080e4832002742ffc7b59c43a88bd324c661115457b961f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x0c1b0e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a757e4f2",
+ "code" : "",
+ "nonce" : "0x10",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa920"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x10",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_64.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_64.json
new file mode 100644
index 000000000..07aaaef2b
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_64.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-3_0_21000_64" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 64 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x69e44bbebc92a455bf8aa92677202250d90281badc176dbe60c526aaaf1a7e0c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x69e44bbebc92a455bf8aa92677202250d90281badc176dbe60c526aaaf1a7e0c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x69e44bbebc92a455bf8aa92677202250d90281badc176dbe60c526aaaf1a7e0c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x69e44bbebc92a455bf8aa92677202250d90281badc176dbe60c526aaaf1a7e0c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x69e44bbebc92a455bf8aa92677202250d90281badc176dbe60c526aaaf1a7e0c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x0cc42e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7573bd2",
+ "code" : "",
+ "nonce" : "0x11",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003"
+ ],
+ "gasLimit" : [
+ "0xa820"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x11",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_80.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_80.json
new file mode 100644
index 000000000..837e1b877
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_80.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-3_0_21000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x9123293bf5afee7ecd0150416b27abd4b5bb8563f71cfcfb88614aa019b29e63",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x9123293bf5afee7ecd0150416b27abd4b5bb8563f71cfcfb88614aa019b29e63",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x9123293bf5afee7ecd0150416b27abd4b5bb8563f71cfcfb88614aa019b29e63",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x9123293bf5afee7ecd0150416b27abd4b5bb8563f71cfcfb88614aa019b29e63",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x9123293bf5afee7ecd0150416b27abd4b5bb8563f71cfcfb88614aa019b29e63",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x0d6c4e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a75693b2",
+ "code" : "",
+ "nonce" : "0x12",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa8a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x12",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_96.json
new file mode 100644
index 000000000..b50d59144
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-3_0_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x062acb39e9bd7a91a32a15e5a0f867fcebb5f6ab97cbca93794b668814bae227",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x062acb39e9bd7a91a32a15e5a0f867fcebb5f6ab97cbca93794b668814bae227",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x062acb39e9bd7a91a32a15e5a0f867fcebb5f6ab97cbca93794b668814bae227",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x062acb39e9bd7a91a32a15e5a0f867fcebb5f6ab97cbca93794b668814bae227",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x062acb39e9bd7a91a32a15e5a0f867fcebb5f6ab97cbca93794b668814bae227",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x0b726e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7588d92",
+ "code" : "",
+ "nonce" : "0x0f",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa8a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xf",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_64.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_64.json
new file mode 100644
index 000000000..335efca80
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_64.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_1-3_0_28000_64" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 64 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x16245eccae5dc6c3351962f925534650e8d6b97d4b6bd3c04ecfd2f2f21511b3",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x16245eccae5dc6c3351962f925534650e8d6b97d4b6bd3c04ecfd2f2f21511b3",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xa471a0f32edbc535502814f5ae7f6b15a6367a7f2a1a0db34d736b41294b85fb",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xa471a0f32edbc535502814f5ae7f6b15a6367a7f2a1a0db34d736b41294b85fb",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xa471a0f32edbc535502814f5ae7f6b15a6367a7f2a1a0db34d736b41294b85fb",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x4c94a8",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7176b58",
+ "code" : "",
+ "nonce" : "0x72",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003"
+ ],
+ "gasLimit" : [
+ "0xc378"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x72",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_80.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_80.json
new file mode 100644
index 000000000..1512cfb9e
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_80.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_0-3_0_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x10fc4fc5d320a4667b76c689705dc0a8bc5dc9a9a7a6cb7475c6eb5289fb73ad",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x10fc4fc5d320a4667b76c689705dc0a8bc5dc9a9a7a6cb7475c6eb5289fb73ad",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xe2db91df9cb31867103ee187f8aa95dce624c1806c61225e4ae83445931a70d0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xe2db91df9cb31867103ee187f8aa95dce624c1806c61225e4ae83445931a70d0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xe2db91df9cb31867103ee187f8aa95dce624c1806c61225e4ae83445931a70d0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x4e1c18",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a715e3e8",
+ "code" : "",
+ "nonce" : "0x74",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc3b8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x74",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_1-3_0_28000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x732545765a6137cac200c8fb5f379bfc1a0ce74e1710de0c828ada3f05709386",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x732545765a6137cac200c8fb5f379bfc1a0ce74e1710de0c828ada3f05709386",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x8ebbd1f0a456e74ff86c8bc6c85eb685342f7fcda1545fde8eb2a5ff817d8313",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x8ebbd1f0a456e74ff86c8bc6c85eb685342f7fcda1545fde8eb2a5ff817d8313",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x8ebbd1f0a456e74ff86c8bc6c85eb685342f7fcda1545fde8eb2a5ff817d8313",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x4d5820",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a716a7e0",
+ "code" : "",
+ "nonce" : "0x73",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc3f8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x73",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_96.json
new file mode 100644
index 000000000..ce882d8ad
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_0_28000_96.json
@@ -0,0 +1,444 @@
+{
+ "cmul_1-3_0_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xf57953523be6eb1b1b6484a5e98bc6336b5f6648d4c636cf614324a07065e183",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xf57953523be6eb1b1b6484a5e98bc6336b5f6648d4c636cf614324a07065e183",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x57c9cd91910f4e17cde4fe1211effd2103e9cc0a6d236ab6f35da8b0d777e6fc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x57c9cd91910f4e17cde4fe1211effd2103e9cc0a6d236ab6f35da8b0d777e6fc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x57c9cd91910f4e17cde4fe1211effd2103e9cc0a6d236ab6f35da8b0d777e6fc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x4b0c38",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a718f3c8",
+ "code" : "",
+ "nonce" : "0x70",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc3f8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x70",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_1-3_0_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x231849265497411fd7670cd00d7d34f41608b34647d6acde30198c7ea469454b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x231849265497411fd7670cd00d7d34f41608b34647d6acde30198c7ea469454b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x7a7d1ea09e1624a849f2b71b659cfb43063107a93b0f93ed013c09324a5601fe",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x7a7d1ea09e1624a849f2b71b659cfb43063107a93b0f93ed013c09324a5601fe",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x7a7d1ea09e1624a849f2b71b659cfb43063107a93b0f93ed013c09324a5601fe",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x4bd030",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7182fd0",
+ "code" : "",
+ "nonce" : "0x71",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc478"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x71",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_128.json
new file mode 100644
index 000000000..7f196e43e
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x34c2e5c483777061c1d0caf04cf181237b1ce58cb1ddce5284cd26ae83136659",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x34c2e5c483777061c1d0caf04cf181237b1ce58cb1ddce5284cd26ae83136659",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x34c2e5c483777061c1d0caf04cf181237b1ce58cb1ddce5284cd26ae83136659",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x34c2e5c483777061c1d0caf04cf181237b1ce58cb1ddce5284cd26ae83136659",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x34c2e5c483777061c1d0caf04cf181237b1ce58cb1ddce5284cd26ae83136659",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x41e4ae",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7221b52",
+ "code" : "",
+ "nonce" : "0x5f",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb120"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x5f",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128.json
new file mode 100644
index 000000000..147bf446f
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_1-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xb65f1eec4f51e2f8efe8720ca80f394a3fdd9cadf27561e790fd5ba2d652d3ed",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xb65f1eec4f51e2f8efe8720ca80f394a3fdd9cadf27561e790fd5ba2d652d3ed",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x4ae903e879ddba13a502f9fcffb2a4e55c5ec2b285d59ce0e6338fbce76524a1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x4ae903e879ddba13a502f9fcffb2a4e55c5ec2b285d59ce0e6338fbce76524a1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x4ae903e879ddba13a502f9fcffb2a4e55c5ec2b285d59ce0e6338fbce76524a1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x7cec44",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6e713bc",
+ "code" : "",
+ "nonce" : "0xc0",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x40c97882e95e71d48d97c8655188333e16470e807a99282b8795064ca6ca4dcf"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xcc78"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xc0",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96.json
new file mode 100644
index 000000000..860532ecc
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_1-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x39b9b6082c88674f29b3bb5a24266a6c4acdc11bc2d37b98a371075fe282affe",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x39b9b6082c88674f29b3bb5a24266a6c4acdc11bc2d37b98a371075fe282affe",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x19bc205c9ea268e61468a9094f032bb7a2c3780bbc8fec5ee4cbb3aaf3176d6f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x19bc205c9ea268e61468a9094f032bb7a2c3780bbc8fec5ee4cbb3aaf3176d6f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x19bc205c9ea268e61468a9094f032bb7a2c3780bbc8fec5ee4cbb3aaf3176d6f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x7c204c",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6e7dfb4",
+ "code" : "",
+ "nonce" : "0xbf",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x40c97882e95e71d48d97c8655188333e16470e807a99282b8795064ca6ca4dcf"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+ ],
+ "gasLimit" : [
+ "0xcbf8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xbf",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_21000_128.json
new file mode 100644
index 000000000..34ab9b55e
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-3_1_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xfa2fa40163ca2abac90b31a9dbfd0465f1753ad82d95532c72335af0287560f4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xfa2fa40163ca2abac90b31a9dbfd0465f1753ad82d95532c72335af0287560f4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xfa2fa40163ca2abac90b31a9dbfd0465f1753ad82d95532c72335af0287560f4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xfa2fa40163ca2abac90b31a9dbfd0465f1753ad82d95532c72335af0287560f4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xfa2fa40163ca2abac90b31a9dbfd0465f1753ad82d95532c72335af0287560f4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x15738e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a74e8c72",
+ "code" : "",
+ "nonce" : "0x1e",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa960"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x1e",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_21000_96.json
new file mode 100644
index 000000000..00ad35815
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-3_1_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x56e75e29ee4d2bc4f7877ea82aa0934b27b56a36490bcc235bf5a1eb2bb9e866",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x56e75e29ee4d2bc4f7877ea82aa0934b27b56a36490bcc235bf5a1eb2bb9e866",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x56e75e29ee4d2bc4f7877ea82aa0934b27b56a36490bcc235bf5a1eb2bb9e866",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x56e75e29ee4d2bc4f7877ea82aa0934b27b56a36490bcc235bf5a1eb2bb9e866",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x56e75e29ee4d2bc4f7877ea82aa0934b27b56a36490bcc235bf5a1eb2bb9e866",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x14caae",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a74f3552",
+ "code" : "",
+ "nonce" : "0x1d",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001"
+ ],
+ "gasLimit" : [
+ "0xa8e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x1d",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_28000_128.json
new file mode 100644
index 000000000..29e09d853
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_1_28000_128.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_0-3_1_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (0, 3) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x03f75b42f83210e685d73d30443853626d413f9944a533f4bfc90f0214d4c27c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x03f75b42f83210e685d73d30443853626d413f9944a533f4bfc90f0214d4c27c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x5e7f2343f4e1547017cd11e29eaf203d111e2351dcb1fc82c73b5f766ec781e7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x5e7f2343f4e1547017cd11e29eaf203d111e2351dcb1fc82c73b5f766ec781e7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x5e7f2343f4e1547017cd11e29eaf203d111e2351dcb1fc82c73b5f766ec781e7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x55ac87",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a70e5379",
+ "code" : "",
+ "nonce" : "0x80",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x556a3c03566b04196c534f5612f50167917d72e6ab9b687e10e72dbe0e0f9279"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001"
+ ],
+ "gasLimit" : [
+ "0xc3f8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x80",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_1-3_1_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x529429c3341d9e6216350a6f02d7d7e1760fd0e83f10faa422c6ec6f249b78b0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x529429c3341d9e6216350a6f02d7d7e1760fd0e83f10faa422c6ec6f249b78b0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x25b7a967c9e773e4a7588de0da44c6d12318e543e1053059af6f288dbfd9f871",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x25b7a967c9e773e4a7588de0da44c6d12318e543e1053059af6f288dbfd9f871",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x25b7a967c9e773e4a7588de0da44c6d12318e543e1053059af6f288dbfd9f871",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x54e7cf",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a70f1831",
+ "code" : "",
+ "nonce" : "0x7f",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x556a3c03566b04196c534f5612f50167917d72e6ab9b687e10e72dbe0e0f9279"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc4b8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x7f",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128.json
new file mode 100644
index 000000000..9e9fd5ec9
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x5906ee840b62fe7355ef6c866b1f340428bd0895c7871a5a99b9a92b4a02b6c2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x5906ee840b62fe7355ef6c866b1f340428bd0895c7871a5a99b9a92b4a02b6c2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x5906ee840b62fe7355ef6c866b1f340428bd0895c7871a5a99b9a92b4a02b6c2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x5906ee840b62fe7355ef6c866b1f340428bd0895c7871a5a99b9a92b4a02b6c2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x5906ee840b62fe7355ef6c866b1f340428bd0895c7871a5a99b9a92b4a02b6c2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x33e06e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7301f92",
+ "code" : "",
+ "nonce" : "0x4b",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb060"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x4b",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96.json
new file mode 100644
index 000000000..c9e8545c3
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x35cddb1ec4b25be2d6b30fb8d430124c994e6686ff0c4fdedc744ebebb160d4a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x35cddb1ec4b25be2d6b30fb8d430124c994e6686ff0c4fdedc744ebebb160d4a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x35cddb1ec4b25be2d6b30fb8d430124c994e6686ff0c4fdedc744ebebb160d4a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x35cddb1ec4b25be2d6b30fb8d430124c994e6686ff0c4fdedc744ebebb160d4a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x35cddb1ec4b25be2d6b30fb8d430124c994e6686ff0c4fdedc744ebebb160d4a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x33308e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a730cf72",
+ "code" : "",
+ "nonce" : "0x4a",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000"
+ ],
+ "gasLimit" : [
+ "0xafe0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x4a",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_96.json
new file mode 100644
index 000000000..1af70b043
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_96.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x02179c442cba8b4250cd9dad7965c03c52b26a46ef7682b1ee53b64e05b589f7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x02179c442cba8b4250cd9dad7965c03c52b26a46ef7682b1ee53b64e05b589f7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x82ad19bbaff113a13db7e5dfe86d02a2df0512d171207597dfe68bfc95cf4cff",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x82ad19bbaff113a13db7e5dfe86d02a2df0512d171207597dfe68bfc95cf4cff",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x82ad19bbaff113a13db7e5dfe86d02a2df0512d171207597dfe68bfc95cf4cff",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x704486",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6f3bb7a",
+ "code" : "",
+ "nonce" : "0xac",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x289df36ee06bbcd57a9ce2a88d2bcda09715d42f96f7f23c48cdd54e2002f059"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xcbb8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xac",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x9bb62812e33aca34e0ba2b4121e00fdefc2cff51a2035b7a53d2366d38f375db",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x9bb62812e33aca34e0ba2b4121e00fdefc2cff51a2035b7a53d2366d38f375db",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xa4bec5cbdb0623bc0d6a14eb97e871235274dde18ba949a3d47b6e917cbb4b66",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xa4bec5cbdb0623bc0d6a14eb97e871235274dde18ba949a3d47b6e917cbb4b66",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xa4bec5cbdb0623bc0d6a14eb97e871235274dde18ba949a3d47b6e917cbb4b66",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x6f794e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6f486b2",
+ "code" : "",
+ "nonce" : "0xab",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x289df36ee06bbcd57a9ce2a88d2bcda09715d42f96f7f23c48cdd54e2002f059"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000"
+ ],
+ "gasLimit" : [
+ "0xcb38"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xab",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128.json
new file mode 100644
index 000000000..a1d02dfca
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xce541c275547a4f42bc7871f330584ce3be5e8948a86316ca61fd0420f4c6ecc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xce541c275547a4f42bc7871f330584ce3be5e8948a86316ca61fd0420f4c6ecc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xce541c275547a4f42bc7871f330584ce3be5e8948a86316ca61fd0420f4c6ecc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xce541c275547a4f42bc7871f330584ce3be5e8948a86316ca61fd0420f4c6ecc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xce541c275547a4f42bc7871f330584ce3be5e8948a86316ca61fd0420f4c6ecc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x3ae06e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7291f92",
+ "code" : "",
+ "nonce" : "0x55",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb0a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x55",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96.json
new file mode 100644
index 000000000..0fec829d1
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x4ce54adecd3b94c2f33df3c9913fa9a4fa791a0e276dabfe68e9335dca2a7531",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x4ce54adecd3b94c2f33df3c9913fa9a4fa791a0e276dabfe68e9335dca2a7531",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x4ce54adecd3b94c2f33df3c9913fa9a4fa791a0e276dabfe68e9335dca2a7531",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x4ce54adecd3b94c2f33df3c9913fa9a4fa791a0e276dabfe68e9335dca2a7531",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x4ce54adecd3b94c2f33df3c9913fa9a4fa791a0e276dabfe68e9335dca2a7531",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x3a304e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a729cfb2",
+ "code" : "",
+ "nonce" : "0x54",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"
+ ],
+ "gasLimit" : [
+ "0xb020"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x54",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128.json
new file mode 100644
index 000000000..c2f2984b7
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x9fbc671e30785285cc645cc9ce1acd58cdf14e5a1417cfd7f5f78633e8231b79",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x9fbc671e30785285cc645cc9ce1acd58cdf14e5a1417cfd7f5f78633e8231b79",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x69059684797cb84e59cbbb65a689b13f4eaca74c7b25e076776bb3e169064d24",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x69059684797cb84e59cbbb65a689b13f4eaca74c7b25e076776bb3e169064d24",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x69059684797cb84e59cbbb65a689b13f4eaca74c7b25e076776bb3e169064d24",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x769645",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6ed69bb",
+ "code" : "",
+ "nonce" : "0xb6",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xcbf8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xb6",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96.json
new file mode 100644
index 000000000..bbe738ce2
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_1-3_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x081e87e0366f5560f5f17d42fcd81e9332effca344a51dbca3872d01f5636a19",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x081e87e0366f5560f5f17d42fcd81e9332effca344a51dbca3872d01f5636a19",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x9e5cda270da96c1a63a75cc10ee14d34c29864d604dc24b6f3162ab4ca0fc4cc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x9e5cda270da96c1a63a75cc10ee14d34c29864d604dc24b6f3162ab4ca0fc4cc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x9e5cda270da96c1a63a75cc10ee14d34c29864d604dc24b6f3162ab4ca0fc4cc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x75cacd",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6ee3533",
+ "code" : "",
+ "nonce" : "0xb5",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"
+ ],
+ "gasLimit" : [
+ "0xcb78"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xb5",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_21000_128.json
new file mode 100644
index 000000000..8771f4f4e
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-3_2_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x4a3413b4ecbe80d24ff022cb21f3a0d65ccea32bdd7f14cea4c9b573ec56c65a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x4a3413b4ecbe80d24ff022cb21f3a0d65ccea32bdd7f14cea4c9b573ec56c65a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x4a3413b4ecbe80d24ff022cb21f3a0d65ccea32bdd7f14cea4c9b573ec56c65a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x4a3413b4ecbe80d24ff022cb21f3a0d65ccea32bdd7f14cea4c9b573ec56c65a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x4a3413b4ecbe80d24ff022cb21f3a0d65ccea32bdd7f14cea4c9b573ec56c65a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x1c2bce",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a747d432",
+ "code" : "",
+ "nonce" : "0x28",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa960"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x28",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_21000_96.json
new file mode 100644
index 000000000..43d6b2b6a
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-3_2_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x45c91c4e12645ac5b12afbbc02b53dd3a437785efae975ea69b2dba6b1bbcae4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x45c91c4e12645ac5b12afbbc02b53dd3a437785efae975ea69b2dba6b1bbcae4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x45c91c4e12645ac5b12afbbc02b53dd3a437785efae975ea69b2dba6b1bbcae4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x45c91c4e12645ac5b12afbbc02b53dd3a437785efae975ea69b2dba6b1bbcae4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x45c91c4e12645ac5b12afbbc02b53dd3a437785efae975ea69b2dba6b1bbcae4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x1b82ee",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7487d12",
+ "code" : "",
+ "nonce" : "0x27",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002"
+ ],
+ "gasLimit" : [
+ "0xa8e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x27",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_28000_96.json
new file mode 100644
index 000000000..0f8d7405f
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_2_28000_96.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_1-3_2_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x793ec9b73137303849afe9942e495a6540c013b0e6ee4ffce8fd3ea7938313c4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x793ec9b73137303849afe9942e495a6540c013b0e6ee4ffce8fd3ea7938313c4",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xcfe0113def4f21891ae29424f08fceaf24b19162f2ee3388da99cca8072cea44",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xcfe0113def4f21891ae29424f08fceaf24b19162f2ee3388da99cca8072cea44",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xcfe0113def4f21891ae29424f08fceaf24b19162f2ee3388da99cca8072cea44",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x5af1ce",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7090e32",
+ "code" : "",
+ "nonce" : "0x89",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x94b60ed39c6fe45858b5931190d93861a2d2538991194cdf9a39b5e83dec0827"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc4b8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x89",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_1-3_2_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xac4b41edd158581bef2a8549641f52d25409f5d6b2b934427a01499cd362afd2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xac4b41edd158581bef2a8549641f52d25409f5d6b2b934427a01499cd362afd2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x0cca95c4a366b33dc8c4602d2690b66f8dc16359e45c69ee62b6d9b3328344c9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x0cca95c4a366b33dc8c4602d2690b66f8dc16359e45c69ee62b6d9b3328344c9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x0cca95c4a366b33dc8c4602d2690b66f8dc16359e45c69ee62b6d9b3328344c9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x5a2d96",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a709d26a",
+ "code" : "",
+ "nonce" : "0x88",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x94b60ed39c6fe45858b5931190d93861a2d2538991194cdf9a39b5e83dec0827"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002"
+ ],
+ "gasLimit" : [
+ "0xc438"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x88",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_21000_128.json
new file mode 100644
index 000000000..b7f8ab0b6
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-3_340282366920938463463374607431768211456_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x839453637db777fccf18770bc765cbcef84beeadb951ebe0bf6c1c2ab0ff6f4b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x839453637db777fccf18770bc765cbcef84beeadb951ebe0bf6c1c2ab0ff6f4b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x839453637db777fccf18770bc765cbcef84beeadb951ebe0bf6c1c2ab0ff6f4b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x839453637db777fccf18770bc765cbcef84beeadb951ebe0bf6c1c2ab0ff6f4b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x839453637db777fccf18770bc765cbcef84beeadb951ebe0bf6c1c2ab0ff6f4b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x2ba5ae",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7385a52",
+ "code" : "",
+ "nonce" : "0x3f",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa960"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x3f",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_21000_80.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_21000_80.json
new file mode 100644
index 000000000..532966f52
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_21000_80.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-3_340282366920938463463374607431768211456_21000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x166be6427280e84012785e4af54fc4b8922c35ac4e085d997b77bc3dc16513df",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x166be6427280e84012785e4af54fc4b8922c35ac4e085d997b77bc3dc16513df",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x166be6427280e84012785e4af54fc4b8922c35ac4e085d997b77bc3dc16513df",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x166be6427280e84012785e4af54fc4b8922c35ac4e085d997b77bc3dc16513df",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x166be6427280e84012785e4af54fc4b8922c35ac4e085d997b77bc3dc16513df",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x2c4f0e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a737b0f2",
+ "code" : "",
+ "nonce" : "0x40",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa8e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x40",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_21000_96.json
new file mode 100644
index 000000000..4b9023ccc
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-3_340282366920938463463374607431768211456_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xa0c70e284f001bdeeb9df5204c1784410b53f1a9f0ada4204ea4f907b1454fdc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xa0c70e284f001bdeeb9df5204c1784410b53f1a9f0ada4204ea4f907b1454fdc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xa0c70e284f001bdeeb9df5204c1784410b53f1a9f0ada4204ea4f907b1454fdc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xa0c70e284f001bdeeb9df5204c1784410b53f1a9f0ada4204ea4f907b1454fdc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xa0c70e284f001bdeeb9df5204c1784410b53f1a9f0ada4204ea4f907b1454fdc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x2afcce",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7390332",
+ "code" : "",
+ "nonce" : "0x3e",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa8e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x3e",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_28000_128.json
new file mode 100644
index 000000000..e574ae054
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_340282366920938463463374607431768211456_28000_128.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_1-3_340282366920938463463374607431768211456_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xc721be85a6761242ca90a70c2324a57eba3411febef06c2554212021cacc997f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xc721be85a6761242ca90a70c2324a57eba3411febef06c2554212021cacc997f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xdc4e979207442bc29fa0889cbb480040579e98ef89c1430c57d157e9a32a9a4e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xdc4e979207442bc29fa0889cbb480040579e98ef89c1430c57d157e9a32a9a4e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xdc4e979207442bc29fa0889cbb480040579e98ef89c1430c57d157e9a32a9a4e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x688157",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6fb7ea9",
+ "code" : "",
+ "nonce" : "0xa0",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xa97df6032909972db52b8144798569bb6169ec8b3e065841da96b3d866aa131e"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc4b8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xa0",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_1-3_340282366920938463463374607431768211456_28000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xc7a7f903058936f875f6a84213073becb9c1c9e13cc07e4a0c7db612c4ebe281",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xc7a7f903058936f875f6a84213073becb9c1c9e13cc07e4a0c7db612c4ebe281",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x3225fdf9489d81413994af3338229e97b2543a1146187ce53a79a11a1a5fca8c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x3225fdf9489d81413994af3338229e97b2543a1146187ce53a79a11a1a5fca8c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x3225fdf9489d81413994af3338229e97b2543a1146187ce53a79a11a1a5fca8c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x69460f",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6fab9f1",
+ "code" : "",
+ "nonce" : "0xa1",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xa97df6032909972db52b8144798569bb6169ec8b3e065841da96b3d866aa131e"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc438"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xa1",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_21000_128.json
new file mode 100644
index 000000000..a48a59ef0
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-3_9_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xef7b42723cebaf950d85a83c365d8674fa96608178c46e82e88f3ca08799c662",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xef7b42723cebaf950d85a83c365d8674fa96608178c46e82e88f3ca08799c662",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xef7b42723cebaf950d85a83c365d8674fa96608178c46e82e88f3ca08799c662",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xef7b42723cebaf950d85a83c365d8674fa96608178c46e82e88f3ca08799c662",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xef7b42723cebaf950d85a83c365d8674fa96608178c46e82e88f3ca08799c662",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x22e40e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7411bf2",
+ "code" : "",
+ "nonce" : "0x32",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xa960"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x32",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_21000_96.json
new file mode 100644
index 000000000..a1c8ea119
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_1-3_9_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xc5cb63f8a50253fc815b780f4754c90a77601bb4f7acef8e26f8cc907d0329b5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xc5cb63f8a50253fc815b780f4754c90a77601bb4f7acef8e26f8cc907d0329b5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xc5cb63f8a50253fc815b780f4754c90a77601bb4f7acef8e26f8cc907d0329b5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xc5cb63f8a50253fc815b780f4754c90a77601bb4f7acef8e26f8cc907d0329b5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xc5cb63f8a50253fc815b780f4754c90a77601bb4f7acef8e26f8cc907d0329b5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x223b2e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a741c4d2",
+ "code" : "",
+ "nonce" : "0x31",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000009"
+ ],
+ "gasLimit" : [
+ "0xa8e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x31",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_28000_128.json
new file mode 100644
index 000000000..ab9c5b32a
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_1-3_9_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xf79dfc35e1f658cb6afeb6b27bd1f2347864663b3791a5c8a59cf8615321cbfd",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xf79dfc35e1f658cb6afeb6b27bd1f2347864663b3791a5c8a59cf8615321cbfd",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xb27b376eb7343d793706ce568d484353698f89d92b0eefc5507a174974d0c285",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xb27b376eb7343d793706ce568d484353698f89d92b0eefc5507a174974d0c285",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xb27b376eb7343d793706ce568d484353698f89d92b0eefc5507a174974d0c285",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x60fbcd",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7030433",
+ "code" : "",
+ "nonce" : "0x93",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xf348aa9f55b137fd60af9c782c04ea7c52c0b193972d1c3aa63d78a110fa2e20"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc4b8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x93",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_28000_96.json
new file mode 100644
index 000000000..088523958
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_1-3_9_28000_96.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_1-3_9_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x7170b025eab8313db2cdcf6165ed272ee38fbbf9bd8cd65e1616015f23fc3631",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x7170b025eab8313db2cdcf6165ed272ee38fbbf9bd8cd65e1616015f23fc3631",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xc91ac9be9bcae8096eb62c12149811bbc37e7faef9b6f7bb7079fd8435ae7a8e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xc91ac9be9bcae8096eb62c12149811bbc37e7faef9b6f7bb7079fd8435ae7a8e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xc91ac9be9bcae8096eb62c12149811bbc37e7faef9b6f7bb7079fd8435ae7a8e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x603795",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a703c86b",
+ "code" : "",
+ "nonce" : "0x92",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xf348aa9f55b137fd60af9c782c04ea7c52c0b193972d1c3aa63d78a110fa2e20"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000009"
+ ],
+ "gasLimit" : [
+ "0xc438"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x92",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_0_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_0_28000_128.json
new file mode 100644
index 000000000..4563b2746
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_0_28000_128.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_0_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xce4ae53e2ea75eac59aa783c931d9bdc33376ce28e8e8e182d1179f10c8b68d2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xce4ae53e2ea75eac59aa783c931d9bdc33376ce28e8e8e182d1179f10c8b68d2",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x0df194e6a98b910cf5e13a71c91d9915f944a6a1bc23f5bf67c8a9bd4e224b55",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x0df194e6a98b910cf5e13a71c91d9915f944a6a1bc23f5bf67c8a9bd4e224b55",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xc735da47efc461eb5f1ed3846af9eb92f5da23596033b8ca43a8936453cafe65",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x49726d",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a71a8d93",
+ "code" : "",
+ "nonce" : "0x6d",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000801a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xd3b8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x6d",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_0_28000_64" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 64 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x764658aa07cd60dcd5cfe68cb9e4464f330c2ab90996c33ff665bd9f7f6edbdf",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x764658aa07cd60dcd5cfe68cb9e4464f330c2ab90996c33ff665bd9f7f6edbdf",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x44368dd498cd6bd521a42517bfc8680db950df409d73f61486f7a0a1c5ed3496",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x44368dd498cd6bd521a42517bfc8680db950df409d73f61486f7a0a1c5ed3496",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x2fd1b6d3730c2d12b6ef1e26774f6796b9c6f53d8d54c3769b0c97c6a8a24116",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x49fb89",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a71a0477",
+ "code" : "",
+ "nonce" : "0x6e",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000401a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f6"
+ ],
+ "gasLimit" : [
+ "0xd2b8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x6e",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_0_28000_80.json b/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_0_28000_80.json
new file mode 100644
index 000000000..4a4ae52ad
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_0_28000_80.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_0_28000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x337abb3dae8f4305dff0ddff7c8cf089c0b6c1058b2cb1078e70e41385e6835c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x337abb3dae8f4305dff0ddff7c8cf089c0b6c1058b2cb1078e70e41385e6835c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xd9538c4e94c7ccff4619a55c9b21def7fd7b07e978ffd8b897e5ee89860368f7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xd9538c4e94c7ccff4619a55c9b21def7fd7b07e978ffd8b897e5ee89860368f7",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xf72a3deb0b54c3894bcfb8b8b34bbd5e3f3b4791e18c01dfcba164902eac3d6b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x4a839f",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7197c61",
+ "code" : "",
+ "nonce" : "0x6f",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000501a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f60000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xd338"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x6f",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_1_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_1_28000_128.json
new file mode 100644
index 000000000..fb1b34711
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_1_28000_128.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_1-3_1_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xe160fa9f61c248d22489c343f3a35b08d3345d93026ddad99198d0738b1afd84",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xe160fa9f61c248d22489c343f3a35b08d3345d93026ddad99198d0738b1afd84",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x5fd360ee797389f94d1f88997688dc2e58c68f52f1e5423ccb6c17cd2d96bb95",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x5fd360ee797389f94d1f88997688dc2e58c68f52f1e5423ccb6c17cd2d96bb95",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x5fd360ee797389f94d1f88997688dc2e58c68f52f1e5423ccb6c17cd2d96bb95",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x542397",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a70fdc69",
+ "code" : "",
+ "nonce" : "0x7e",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x556a3c03566b04196c534f5612f50167917d72e6ab9b687e10e72dbe0e0f9279"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001"
+ ],
+ "gasLimit" : [
+ "0xc438"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x7e",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_1_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x04dbf66c11a470908c7697664f58da5d3dbe11facbc1b650c1cd752c00a11763",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x04dbf66c11a470908c7697664f58da5d3dbe11facbc1b650c1cd752c00a11763",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x993f4924d3f05370d417554626c2e2ad23ecce1cad2fe73cab088b19fe270b10",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x993f4924d3f05370d417554626c2e2ad23ecce1cad2fe73cab088b19fe270b10",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x476f7e0d28bcbb9d33358f722ea827e9aacab5c4bcbc0c456decc0c3d869e32b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x539a3b",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a71065c5",
+ "code" : "",
+ "nonce" : "0x7d",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x556a3c03566b04196c534f5612f50167917d72e6ab9b687e10e72dbe0e0f9279"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000801a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xd3f8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x7d",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_2_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_2_28000_96.json
new file mode 100644
index 000000000..8aa8b3cf6
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_2_28000_96.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_2_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xf386ef5b2c166eb24fe7a372e3a9349aa60300984b4266509393d392d086d6ae",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xf386ef5b2c166eb24fe7a372e3a9349aa60300984b4266509393d392d086d6ae",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x77e27ff76005fc22f340b2c510381483f4becc036a5fe0fb8b720b56e65f1a30",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x77e27ff76005fc22f340b2c510381483f4becc036a5fe0fb8b720b56e65f1a30",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x11377484df2e6d0a4ba4300d5f987c0209d38d5f8530cac50348ee06f0f3a3af",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x59a43a",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a70a5bc6",
+ "code" : "",
+ "nonce" : "0x87",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x94b60ed39c6fe45858b5931190d93861a2d2538991194cdf9a39b5e83dec0827"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000801a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xd3f8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x87",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_2_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xd03ebd49bfc309f55d69243e4c7089decda0ee3ee92f3e26c2e49b51aa4f03b6",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xd03ebd49bfc309f55d69243e4c7089decda0ee3ee92f3e26c2e49b51aa4f03b6",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xf24abc32a39fe114a9dc2164851d073d56f565c6beb2f767507df17879120baa",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xf24abc32a39fe114a9dc2164851d073d56f565c6beb2f767507df17879120baa",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x2d19c6ba5929cd7c1371f97c8e487dc5aed744507a7f4d77dda492227c0731dd",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x591b61",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a70ae49f",
+ "code" : "",
+ "nonce" : "0x86",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x8a5045bc7a493061be89fdbc32ea8ae69e8d8b55ebe445fa41fa534b1543ab50"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000601a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f60000000000000000000000000000000000000000000000000000000000000002"
+ ],
+ "gasLimit" : [
+ "0xd378"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x86",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_340282366920938463463374607431768211456_28000_80.json b/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_340282366920938463463374607431768211456_28000_80.json
new file mode 100644
index 000000000..5ae118bdc
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_340282366920938463463374607431768211456_28000_80.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_1-3_340282366920938463463374607431768211456_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xfd63b47ebc5a0ad535f3dc14bdcdae5257d89f4b0a2d7bd943e701f03bfffcab",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xfd63b47ebc5a0ad535f3dc14bdcdae5257d89f4b0a2d7bd943e701f03bfffcab",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x62007976267c85a3dee527e4ede8226915ef38a9aae91c8dd7848802a2ed5f92",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x62007976267c85a3dee527e4ede8226915ef38a9aae91c8dd7848802a2ed5f92",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x62007976267c85a3dee527e4ede8226915ef38a9aae91c8dd7848802a2ed5f92",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x67bd1f",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6fc42e1",
+ "code" : "",
+ "nonce" : "0x9f",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xa97df6032909972db52b8144798569bb6169ec8b3e065841da96b3d866aa131e"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc438"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x9f",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_340282366920938463463374607431768211456_28000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xc30344e4124e6c43750d53322e69f67e54063c38d8b4c261bb7ea26eb04773fc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xc30344e4124e6c43750d53322e69f67e54063c38d8b4c261bb7ea26eb04773fc",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xd32c37b8c2b494ec8a87c8bd3e514a05bd01ce6e2dc59c0a6d3dbc40b614df21",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xd32c37b8c2b494ec8a87c8bd3e514a05bd01ce6e2dc59c0a6d3dbc40b614df21",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xced8e4477d1b198a0cd8d2b9f1906a48749520ad7670479bcda2a39fe33e34e0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x673446",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6fccbba",
+ "code" : "",
+ "nonce" : "0x9e",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xa97df6032909972db52b8144798569bb6169ec8b3e065841da96b3d866aa131e"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000501a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f60000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xd378"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x9e",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_340282366920938463463374607431768211456_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_340282366920938463463374607431768211456_28000_96.json
new file mode 100644
index 000000000..fe0ca7aea
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_340282366920938463463374607431768211456_28000_96.json
@@ -0,0 +1,444 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_340282366920938463463374607431768211456_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xc2caf9f0810a738b32a99d1ec86fb9ac8f5261be7c98104d1a355eec9592c3dd",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xc2caf9f0810a738b32a99d1ec86fb9ac8f5261be7c98104d1a355eec9592c3dd",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x340d6d037ff8975b4ef45288e4a7d6abd7e40adb30d197ae082ba4d57f69836c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x340d6d037ff8975b4ef45288e4a7d6abd7e40adb30d197ae082ba4d57f69836c",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x052ab2b94b12896fc7c3ff019e64beef8b02f781ba81b5d8ba6997e0f60be966",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x66aaea",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6fd5516",
+ "code" : "",
+ "nonce" : "0x9d",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xa97df6032909972db52b8144798569bb6169ec8b3e065841da96b3d866aa131e"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000801a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f600000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xd3f8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x9d",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_340282366920938463463374607431768211456_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x7183db345cd6dd17a007442e267af5fbba949bdf2ba167894386be0f0cb43cc3",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x7183db345cd6dd17a007442e267af5fbba949bdf2ba167894386be0f0cb43cc3",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x2c30c2246d0c7c51912e6d2a4b86649d764ca95eaa3974b22a2560d8b51a2887",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x2c30c2246d0c7c51912e6d2a4b86649d764ca95eaa3974b22a2560d8b51a2887",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x27784646d1d9cd479e44137627dededa1cb298c4cd07533d7b931d9b39471fa8",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x662211",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6fdddef",
+ "code" : "",
+ "nonce" : "0x9c",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x0467d6413c98fb304cd61014865afdb7b3b81fa53f7ef4046e6a833162c5bb5c"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000601a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f60000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xd378"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x9c",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_9_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_9_28000_128.json
new file mode 100644
index 000000000..55bdd7344
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_9_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_9_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xfcf1c3172b418c4a3e35d91f8249b31125828c29cafd43390df671155f6c7b97",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xfcf1c3172b418c4a3e35d91f8249b31125828c29cafd43390df671155f6c7b97",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x004a1720dc82c4c06b629aaa964142c4bc07aee3e4799f16053ccb6b55554335",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x004a1720dc82c4c06b629aaa964142c4bc07aee3e4799f16053ccb6b55554335",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x2506b3f248ef2d76d9e5a07046f89acc31e0b08c12f28890a6b8ffbce697d389",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x5fae39",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a70451c7",
+ "code" : "",
+ "nonce" : "0x91",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xf348aa9f55b137fd60af9c782c04ea7c52c0b193972d1c3aa63d78a110fa2e20"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000801a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f600000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xd3f8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x91",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_9_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_9_28000_96.json
new file mode 100644
index 000000000..84c438761
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_9_28000_96.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_9_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x2d62f43d484b37c483c83a4dae9478a42f9f00e797f5d436f6d145ea538b52f1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x2d62f43d484b37c483c83a4dae9478a42f9f00e797f5d436f6d145ea538b52f1",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x460af874c642587fbb541b3f564a071b9b4c069536f635d9dc6854404387a7da",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x460af874c642587fbb541b3f564a071b9b4c069536f635d9dc6854404387a7da",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xf6fd9b4079f6e8162991a13c3ae01cf220ded1710f3a430aa4be1c2157c89be0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x5f2560",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a704daa0",
+ "code" : "",
+ "nonce" : "0x90",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xc7b29565a7dd9915e6fd86d026aef2fc454506bae7f90e2f2bec5f25f01b2d95"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000601a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f60000000000000000000000000000000000000000000000000000000000000009"
+ ],
+ "gasLimit" : [
+ "0xd378"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x90",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_128.json
new file mode 100644
index 000000000..b3b374e35
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_0_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xee84dd6bef11f6049cc7003baf52da0d5de456163d957a542b39221b92551ed6",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xee84dd6bef11f6049cc7003baf52da0d5de456163d957a542b39221b92551ed6",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xee84dd6bef11f6049cc7003baf52da0d5de456163d957a542b39221b92551ed6",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xee84dd6bef11f6049cc7003baf52da0d5de456163d957a542b39221b92551ed6",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xee84dd6bef11f6049cc7003baf52da0d5de456163d957a542b39221b92551ed6",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x094ace",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a75ab532",
+ "code" : "",
+ "nonce" : "0x0c",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000801a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb860"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xc",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_64.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_64.json
new file mode 100644
index 000000000..3dc18d0f4
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_64.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_0_21000_64" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 64 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x3a63a55a4286819a3ed29f769958fd291248b8f232fe2107749cfa509541e5ea",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x3a63a55a4286819a3ed29f769958fd291248b8f232fe2107749cfa509541e5ea",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x3a63a55a4286819a3ed29f769958fd291248b8f232fe2107749cfa509541e5ea",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x3a63a55a4286819a3ed29f769958fd291248b8f232fe2107749cfa509541e5ea",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x3a63a55a4286819a3ed29f769958fd291248b8f232fe2107749cfa509541e5ea",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x0a032e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a759fcd2",
+ "code" : "",
+ "nonce" : "0x0d",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000401a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f6"
+ ],
+ "gasLimit" : [
+ "0xb760"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xd",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_80.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_80.json
new file mode 100644
index 000000000..402b991ee
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_80.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_0_21000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xedf0b32999d81d2d61bdccc28eb4a5a7c210b3dc307f72767202e735083d3717",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xedf0b32999d81d2d61bdccc28eb4a5a7c210b3dc307f72767202e735083d3717",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xedf0b32999d81d2d61bdccc28eb4a5a7c210b3dc307f72767202e735083d3717",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xedf0b32999d81d2d61bdccc28eb4a5a7c210b3dc307f72767202e735083d3717",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xedf0b32999d81d2d61bdccc28eb4a5a7c210b3dc307f72767202e735083d3717",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x0aba8e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7594572",
+ "code" : "",
+ "nonce" : "0x0e",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000501a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f60000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb7e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xe",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_96.json
new file mode 100644
index 000000000..9d35f7539
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_0_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x36f8585ea5a0c93392fbf6cfd9604df4aad5e484c1226ea587fc3f9648a45810",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x36f8585ea5a0c93392fbf6cfd9604df4aad5e484c1226ea587fc3f9648a45810",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x36f8585ea5a0c93392fbf6cfd9604df4aad5e484c1226ea587fc3f9648a45810",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x36f8585ea5a0c93392fbf6cfd9604df4aad5e484c1226ea587fc3f9648a45810",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x36f8585ea5a0c93392fbf6cfd9604df4aad5e484c1226ea587fc3f9648a45810",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x0892ee",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a75b6d12",
+ "code" : "",
+ "nonce" : "0x0b",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000601a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f60000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb7e0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xb",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_28000_96.json
new file mode 100644
index 000000000..294245639
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_0_28000_96.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_0_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 0 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x29183ab32cc97bcc06d97b0ddc20e162c08f22d504d5295a50c215c84d9e7da5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x29183ab32cc97bcc06d97b0ddc20e162c08f22d504d5295a50c215c84d9e7da5",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xc9f27960a9269cc4cd52e606964cc6e8adfd1692a7571ed309cfc15ac3626c80",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xc9f27960a9269cc4cd52e606964cc6e8adfd1692a7571ed309cfc15ac3626c80",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xc5c66391c97954b8325a8c1b56ebb7bdbae49fbfda94b96078de0299ac60f75f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x48e9d4",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a71b162c",
+ "code" : "",
+ "nonce" : "0x6c",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000601a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f60000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xd338"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x6c",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_21000_128.json
new file mode 100644
index 000000000..40c7da1ad
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_340282366920938463463374607431768211456_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xc04252930038da87681608cdc73c280fbe0d446b3bd6a55373b9bd4bc22a8014",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xc04252930038da87681608cdc73c280fbe0d446b3bd6a55373b9bd4bc22a8014",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xc04252930038da87681608cdc73c280fbe0d446b3bd6a55373b9bd4bc22a8014",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xc04252930038da87681608cdc73c280fbe0d446b3bd6a55373b9bd4bc22a8014",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xc04252930038da87681608cdc73c280fbe0d446b3bd6a55373b9bd4bc22a8014",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x298c0e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a73a73f2",
+ "code" : "",
+ "nonce" : "0x3c",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000801a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f600000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb8a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x3c",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_21000_80.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_21000_80.json
new file mode 100644
index 000000000..ad266ee33
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_21000_80.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_340282366920938463463374607431768211456_21000_80" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 80 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x67e9d3abbb42c878cb328659e27b7c428785376f0c0059a10ece746d8b558872",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x67e9d3abbb42c878cb328659e27b7c428785376f0c0059a10ece746d8b558872",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x67e9d3abbb42c878cb328659e27b7c428785376f0c0059a10ece746d8b558872",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x67e9d3abbb42c878cb328659e27b7c428785376f0c0059a10ece746d8b558872",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x67e9d3abbb42c878cb328659e27b7c428785376f0c0059a10ece746d8b558872",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x2a44ae",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a739bb52",
+ "code" : "",
+ "nonce" : "0x3d",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000501a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f60000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb820"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x3d",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_21000_96.json
new file mode 100644
index 000000000..03c9a04e3
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1456_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_340282366920938463463374607431768211456_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 340282366920938463463374607431768211456 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x0c68a20b1d03f4097579d48085e13966a1b94ce38ce6b9f503e4638d04bbc62a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x0c68a20b1d03f4097579d48085e13966a1b94ce38ce6b9f503e4638d04bbc62a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x0c68a20b1d03f4097579d48085e13966a1b94ce38ce6b9f503e4638d04bbc62a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x0c68a20b1d03f4097579d48085e13966a1b94ce38ce6b9f503e4638d04bbc62a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x0c68a20b1d03f4097579d48085e13966a1b94ce38ce6b9f503e4638d04bbc62a",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x28d3ee",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a73b2c12",
+ "code" : "",
+ "nonce" : "0x3b",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000601a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f60000000000000000000000000000000100000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb820"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x3b",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1_21000_128.json
new file mode 100644
index 000000000..4e4e83abe
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_1_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xc3e92171151258ea946866cba2b20805940c639e2fedeb50354c642fae15cd05",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xc3e92171151258ea946866cba2b20805940c639e2fedeb50354c642fae15cd05",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xc3e92171151258ea946866cba2b20805940c639e2fedeb50354c642fae15cd05",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xc3e92171151258ea946866cba2b20805940c639e2fedeb50354c642fae15cd05",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xc3e92171151258ea946866cba2b20805940c639e2fedeb50354c642fae15cd05",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x14120e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a74fedf2",
+ "code" : "",
+ "nonce" : "0x1c",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000801a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb8a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x1c",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1_21000_96.json
new file mode 100644
index 000000000..0696ab480
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_1_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_1_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 1 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x9fa5782767110156b2540fde3aef537b0266ce6b12266ef0e7af0cd428d3e7d9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x9fa5782767110156b2540fde3aef537b0266ce6b12266ef0e7af0cd428d3e7d9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x9fa5782767110156b2540fde3aef537b0266ce6b12266ef0e7af0cd428d3e7d9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x9fa5782767110156b2540fde3aef537b0266ce6b12266ef0e7af0cd428d3e7d9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x9fa5782767110156b2540fde3aef537b0266ce6b12266ef0e7af0cd428d3e7d9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x1359ee",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a750a612",
+ "code" : "",
+ "nonce" : "0x1b",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000601a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f60000000000000000000000000000000000000000000000000000000000000001"
+ ],
+ "gasLimit" : [
+ "0xb820"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x1b",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_2_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_2_21000_128.json
new file mode 100644
index 000000000..9227c4b91
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_2_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_2_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x70f8c3b4d3d08fc885aef31047b358b36eb659c0f051b4e88c3a1deeafa5f0da",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x70f8c3b4d3d08fc885aef31047b358b36eb659c0f051b4e88c3a1deeafa5f0da",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x70f8c3b4d3d08fc885aef31047b358b36eb659c0f051b4e88c3a1deeafa5f0da",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x70f8c3b4d3d08fc885aef31047b358b36eb659c0f051b4e88c3a1deeafa5f0da",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x70f8c3b4d3d08fc885aef31047b358b36eb659c0f051b4e88c3a1deeafa5f0da",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x1aca4e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a74935b2",
+ "code" : "",
+ "nonce" : "0x26",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000801a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb8a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x26",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_2_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_2_21000_96.json
new file mode 100644
index 000000000..49919f767
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_2_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_2_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 2 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x3e8a382ee8502032f0e162b97bf13557f6d9e18a7cefb497637bfd545c9fa384",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x3e8a382ee8502032f0e162b97bf13557f6d9e18a7cefb497637bfd545c9fa384",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x3e8a382ee8502032f0e162b97bf13557f6d9e18a7cefb497637bfd545c9fa384",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x3e8a382ee8502032f0e162b97bf13557f6d9e18a7cefb497637bfd545c9fa384",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x3e8a382ee8502032f0e162b97bf13557f6d9e18a7cefb497637bfd545c9fa384",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x1a122e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a749edd2",
+ "code" : "",
+ "nonce" : "0x25",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000601a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f60000000000000000000000000000000000000000000000000000000000000002"
+ ],
+ "gasLimit" : [
+ "0xb820"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x25",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_21000_128.json
new file mode 100644
index 000000000..150baa79e
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xf090706a8973ede411159f91278d73c3093807cb8e26cea68e3691761bff7a02",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xf090706a8973ede411159f91278d73c3093807cb8e26cea68e3691761bff7a02",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xf090706a8973ede411159f91278d73c3093807cb8e26cea68e3691761bff7a02",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xf090706a8973ede411159f91278d73c3093807cb8e26cea68e3691761bff7a02",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xf090706a8973ede411159f91278d73c3093807cb8e26cea68e3691761bff7a02",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x3270ee",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7318f12",
+ "code" : "",
+ "nonce" : "0x49",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000801a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f630644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xbfa0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x49",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_21000_96.json
new file mode 100644
index 000000000..21108f4a1
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_21888242871839275222246405745257275088548364400416034343698204186575808495616_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x2516fc7e83f758fbcee90984a400ade212f343abd87af8ceedb48ad58f3b9eff",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x2516fc7e83f758fbcee90984a400ade212f343abd87af8ceedb48ad58f3b9eff",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x2516fc7e83f758fbcee90984a400ade212f343abd87af8ceedb48ad58f3b9eff",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x2516fc7e83f758fbcee90984a400ade212f343abd87af8ceedb48ad58f3b9eff",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x2516fc7e83f758fbcee90984a400ade212f343abd87af8ceedb48ad58f3b9eff",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x31b1ce",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7324e32",
+ "code" : "",
+ "nonce" : "0x48",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000601a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f630644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000"
+ ],
+ "gasLimit" : [
+ "0xbf20"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x48",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_28000_128.json
new file mode 100644
index 000000000..d964970c5
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xd22567e88022078bf47bf4a4204816cb13b52e77a7c5f4e28a54b3a7ce859fea",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xd22567e88022078bf47bf4a4204816cb13b52e77a7c5f4e28a54b3a7ce859fea",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xf3b909651d5323ab128c9582fd7001afd3618b6f22c7712f1e6c364f3e2e4218",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xf3b909651d5323ab128c9582fd7001afd3618b6f22c7712f1e6c364f3e2e4218",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xb88111373c785a6cd131cd301bbbfc217a4a9ebf61b164fbb49c16b30860713b",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x6ee8f2",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6f5170e",
+ "code" : "",
+ "nonce" : "0xaa",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x289df36ee06bbcd57a9ce2a88d2bcda09715d42f96f7f23c48cdd54e2002f059"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000801a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f630644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000000000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xdaf8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xaa",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_28000_96.json
new file mode 100644
index 000000000..17ef1a52f
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5616_28000_96.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_21888242871839275222246405745257275088548364400416034343698204186575808495616_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495616 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xd193a1529071956294beb7bda2a29779394446c51bd29e7a9bf55cb8c357b01e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xd193a1529071956294beb7bda2a29779394446c51bd29e7a9bf55cb8c357b01e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x5dd9e9f8a79e80116f23efffb60e8a8e616b0d0bf40c9c20d5fec807524a6910",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x5dd9e9f8a79e80116f23efffb60e8a8e616b0d0bf40c9c20d5fec807524a6910",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xe6fb28b23bb1aeec5d116ace79461ac84d257321e967aed8557dbba8378b8999",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x6e5919",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6f5a6e7",
+ "code" : "",
+ "nonce" : "0xa9",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xac1de87792e425a22b81bdf624dc1b24fee26f16e9a879172aebc261cc51a2fe"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000601a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f630644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000"
+ ],
+ "gasLimit" : [
+ "0xda78"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xa9",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_21000_128.json
new file mode 100644
index 000000000..41b25d1ee
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_21888242871839275222246405745257275088548364400416034343698204186575808495617_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x77298f5c9ef604ed95b02800679313b5eb71e79768c19151cd2e863b59c4ddae",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x77298f5c9ef604ed95b02800679313b5eb71e79768c19151cd2e863b59c4ddae",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x77298f5c9ef604ed95b02800679313b5eb71e79768c19151cd2e863b59c4ddae",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x77298f5c9ef604ed95b02800679313b5eb71e79768c19151cd2e863b59c4ddae",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x77298f5c9ef604ed95b02800679313b5eb71e79768c19151cd2e863b59c4ddae",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x39706e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a72a8f92",
+ "code" : "",
+ "nonce" : "0x53",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000801a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f630644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xbfe0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x53",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_28000_128.json
new file mode 100644
index 000000000..8b4f0d7c3
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x14815534bdbf1ddc75d223311d81dae7befb8db314e2064aa31bab95fcfe5465",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x14815534bdbf1ddc75d223311d81dae7befb8db314e2064aa31bab95fcfe5465",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xefd407344d021addcdac7b692253d0f28d8a83c102a6abf8c1b68ea4f4f98400",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xefd407344d021addcdac7b692253d0f28d8a83c102a6abf8c1b68ea4f4f98400",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x2b53c97ca82473028518b6274e310524af781bfd5414d464e3ddc64ee3fa074f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x753a31",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6eec5cf",
+ "code" : "",
+ "nonce" : "0xb4",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000801a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f630644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000010000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xdb38"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xb4",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_28000_96.json
new file mode 100644
index 000000000..0d046e444
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_5617_28000_96.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_21888242871839275222246405745257275088548364400416034343698204186575808495617_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 21888242871839275222246405745257275088548364400416034343698204186575808495617 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x6741b0565a93ce01d2fdd4982fcb578f777e01097bb91425fc2b98b1c1e77d07",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x6741b0565a93ce01d2fdd4982fcb578f777e01097bb91425fc2b98b1c1e77d07",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xcf12d51d85dda3e289362bffdefdd96d3aa41b7df1a847af1631553689d99f70",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xcf12d51d85dda3e289362bffdefdd96d3aa41b7df1a847af1631553689d99f70",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x327245f7d6a50c789098f2168de8d88b727908e55e8c067cb08e3c170c8a2f68",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x74aa18",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6ef55e8",
+ "code" : "",
+ "nonce" : "0xb3",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000601a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f630644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"
+ ],
+ "gasLimit" : [
+ "0xdab8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xb3",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_21000_128.json
new file mode 100644
index 000000000..405ad847f
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_21000_128.json
@@ -0,0 +1,442 @@
+{
+ "ecmul_1-3_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (1, 3) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x65045f49b5935acc31ad7f739bd7a9072f47f15f17bb93bcb20d801e1f7b74f0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x65045f49b5935acc31ad7f739bd7a9072f47f15f17bb93bcb20d801e1f7b74f0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x65045f49b5935acc31ad7f739bd7a9072f47f15f17bb93bcb20d801e1f7b74f0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x65045f49b5935acc31ad7f739bd7a9072f47f15f17bb93bcb20d801e1f7b74f0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x65045f49b5935acc31ad7f739bd7a9072f47f15f17bb93bcb20d801e1f7b74f0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x41340e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a722cbf2",
+ "code" : "",
+ "nonce" : "0x5e",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+ ],
+ "gasLimit" : [
+ "0xb0a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x5e",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ },
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_115792089237316195423570985008687907853269984665640564039457584007913129639935_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x12a3e5992c88eb96b92cb26c42adec33bc16cca193438786ca304c59a2035fc0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x12a3e5992c88eb96b92cb26c42adec33bc16cca193438786ca304c59a2035fc0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x12a3e5992c88eb96b92cb26c42adec33bc16cca193438786ca304c59a2035fc0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x12a3e5992c88eb96b92cb26c42adec33bc16cca193438786ca304c59a2035fc0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0x12a3e5992c88eb96b92cb26c42adec33bc16cca193438786ca304c59a2035fc0",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x4073ae",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7238c52",
+ "code" : "",
+ "nonce" : "0x5d",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000801a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xc060"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x5d",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_28000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_28000_128.json
new file mode 100644
index 000000000..2de2435cb
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_28000_128.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x507bd9112c93b2f58b84d414859d9327908922942c311a2debed849e7f0728c9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x507bd9112c93b2f58b84d414859d9327908922942c311a2debed849e7f0728c9",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xa003939afd5746467dbf78dcf2c4bf2a2ce2b22319decb0aaf4d34e7c1b094ed",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xa003939afd5746467dbf78dcf2c4bf2a2ce2b22319decb0aaf4d34e7c1b094ed",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xadc6908de8b5d54b79ea30cff49685c03d5d88b1b02483ff1f76c6d583136a21",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x7b8f30",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6e870d0",
+ "code" : "",
+ "nonce" : "0xbe",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0x40c97882e95e71d48d97c8655188333e16470e807a99282b8795064ca6ca4dcf"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000801a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xdbb8"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xbe",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_28000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_28000_96.json
new file mode 100644
index 000000000..859d18eb4
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9935_28000_96.json
@@ -0,0 +1,223 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_115792089237316195423570985008687907853269984665640564039457584007913129639935_28000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 115792089237316195423570985008687907853269984665640564039457584007913129639935 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 28000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0x017897308c9ec17995f10225f7a284b7e68996b80c94ac811b9e2878bb4803cb",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0x017897308c9ec17995f10225f7a284b7e68996b80c94ac811b9e2878bb4803cb",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0x6adc9579e9b24bfd28ae562cb8f4ff8b925e587ddb53adae2c9cda8e9a51e36f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0x6adc9579e9b24bfd28ae562cb8f4ff8b925e587ddb53adae2c9cda8e9a51e36f",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xcf69c6a812b08561c049893faca2364110ff84440d872df72421dddfb64dbfb3",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x7afe97",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a6e90169",
+ "code" : "",
+ "nonce" : "0xbd",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ "0x00" : "0xa34b6e4f9c282ff62c1e6f53fd92ad8efd8346d9866333a95ab4506a8158afc7"
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000601a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+ ],
+ "gasLimit" : [
+ "0xdb38"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0xbd",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9_21000_128.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9_21000_128.json
new file mode 100644
index 000000000..6ba77d934
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9_21000_128.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_9_21000_128" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 128 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xfe37cfc2e89377786a8ec348c74395dfb26e56e144b375adc5c1333f6fa51e3d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xfe37cfc2e89377786a8ec348c74395dfb26e56e144b375adc5c1333f6fa51e3d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xfe37cfc2e89377786a8ec348c74395dfb26e56e144b375adc5c1333f6fa51e3d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xfe37cfc2e89377786a8ec348c74395dfb26e56e144b375adc5c1333f6fa51e3d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xfe37cfc2e89377786a8ec348c74395dfb26e56e144b375adc5c1333f6fa51e3d",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x21828e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7427d72",
+ "code" : "",
+ "nonce" : "0x30",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000801a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f600000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "0xb8a0"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x30",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9_21000_96.json b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9_21000_96.json
new file mode 100644
index 000000000..f1443d474
--- /dev/null
+++ b/GeneralStateTests/stZeroKnowledge/ecmul_7827-6598_9_21000_96.json
@@ -0,0 +1,222 @@
+{
+ "ecmul_11999875504842010600789954262886096740416429265635183817701593963271973497827-11843594000332171325303933275547366297934113019079887694534126289021216356598_9_21000_96" : {
+ "env" : {
+ "currentCoinbase" : "0x3535353535353535353535353535353535353535",
+ "currentDifficulty" : "0x1",
+ "currentGasLimit" : "0x5f5e100",
+ "currentNumber" : "0x1",
+ "currentTimestamp" : "0x5777765e",
+ "previousHash" : "0xc6745cf3cada515bbfb9573261c82547e0b8f9e3d5dd382e464704a84e47b5ad"
+ },
+ "explanation" : "Puts the point (11999875504842010600789954262886096740416429265635183817701593963271973497827, 11843594000332171325303933275547366297934113019079887694534126289021216356598) and the factor 9 into the ECMUL precompile, truncating or expanding the input data to 96 bytes. Gives the execution 21000 bytes",
+ "post" : {
+ "EIP150" : [
+ {
+ "hash" : "0xbc884ffb8b29fd23117837723d2209889c931a10139f9e176c3a9bfda7d5029e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "EIP158" : [
+ {
+ "hash" : "0xbc884ffb8b29fd23117837723d2209889c931a10139f9e176c3a9bfda7d5029e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Frontier" : [
+ {
+ "hash" : "0xbc884ffb8b29fd23117837723d2209889c931a10139f9e176c3a9bfda7d5029e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Homestead" : [
+ {
+ "hash" : "0xbc884ffb8b29fd23117837723d2209889c931a10139f9e176c3a9bfda7d5029e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ],
+ "Metropolis" : [
+ {
+ "hash" : "0xbc884ffb8b29fd23117837723d2209889c931a10139f9e176c3a9bfda7d5029e",
+ "indexes" : {
+ "data" : 0,
+ "gas" : 0,
+ "value" : 0
+ }
+ }
+ ]
+ },
+ "pre" : {
+ "0x0000000000000000000000000000000000000000" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000001" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000002" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000003" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000004" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000005" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000006" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x0000000000000000000000000000000000000007" : {
+ "balance" : "0x01",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x10a1c1cb95c92ec31d3f22c66eef1d9f3f258c6b" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x13cbb8d99c6c4e0f2728c7d72606e78a29c4e224" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x24143873e0e0815fdcbcffdbe09c979cbf9ad013" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x3535353535353535353535353535353535353535" : {
+ "balance" : "0x20ca6e",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x598443f1880ef585b21f1d7585bd0577402861e5" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x77db2bebba79db42a978f896968f4afce746ea1f" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x7d577a597b2742b498cb5cf0c26cdcd726d39e6e" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1" : {
+ "balance" : "0x0de0b6b3a7433592",
+ "code" : "",
+ "nonce" : "0x2f",
+ "storage" : {
+ }
+ },
+ "0x90f0b1ebbba1c1936aff7aaf20a7878ff9e04b6c" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xc305c901078781c232a2a521c2af7980f8385ee9" : {
+ "balance" : "0x00",
+ "code" : "0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a0526330c8d1da600051141561012b5760c06004356004013511151558576004356004013560200160043560040161014037604061026061014051610160600060076305f5e0fff11558576040610240526102406060806102c0828460006004601bf15050506102c08051602082012090506000556102c060206020820352604081510160206001820306601f820103905060208203f350005b",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "0xdceceaf3fc5c0a63d195d69b1a90011b7b19650d" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "0xe0fc04fa2d34a66b779fd5cee748268032a146c0" : {
+ "balance" : "0x0de0b6b3a7640000",
+ "code" : "",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x30c8d1da000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000601a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f60000000000000000000000000000000000000000000000000000000000000009"
+ ],
+ "gasLimit" : [
+ "0xb820"
+ ],
+ "gasPrice" : "0x1",
+ "nonce" : "0x2f",
+ "secretKey" : "0x044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "to" : "0xc305c901078781c232a2a521c2af7980f8385ee9",
+ "value" : [
+ "0x"
+ ]
+ }
+ }
+} \ No newline at end of file