aboutsummaryrefslogtreecommitdiffstats
path: root/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead
diff options
context:
space:
mode:
authorDimitry <dimitry@ethdev.com>2016-12-05 19:12:05 +0800
committerDimitry <dimitry@ethdev.com>2016-12-05 19:12:05 +0800
commite2a69159c863d810a368eda8aa417290d95dc52e (patch)
tree75da52555f6c077fdf580b24bcd8268c968da62e /src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead
parent35cfcf16190fc3e56ee11ead23452c633e2fca28 (diff)
downloaddexon-tests-e2a69159c863d810a368eda8aa417290d95dc52e.tar
dexon-tests-e2a69159c863d810a368eda8aa417290d95dc52e.tar.gz
dexon-tests-e2a69159c863d810a368eda8aa417290d95dc52e.tar.bz2
dexon-tests-e2a69159c863d810a368eda8aa417290d95dc52e.tar.lz
dexon-tests-e2a69159c863d810a368eda8aa417290d95dc52e.tar.xz
dexon-tests-e2a69159c863d810a368eda8aa417290d95dc52e.tar.zst
dexon-tests-e2a69159c863d810a368eda8aa417290d95dc52e.zip
Test Fillers (Sources for the tests)
Diffstat (limited to 'src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead')
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001Filler.json164
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGEFiller.json142
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGMAfterFiller.json162
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGMBeforeFiller.json146
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_SuicideEndFiller.json137
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_SuicideMiddleFiller.json146
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_ABCB_RECURSIVEFiller.json121
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcode_01Filler.json131
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcode_01_OOGEFiller.json113
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcode_01_SuicideEndFiller.json124
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010Filler.json154
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGEFiller.json142
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGMAfterFiller.json144
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGMBeforeFiller.json148
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_SuicideEndFiller.json127
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_SuicideMiddleFiller.json131
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_ABCB_RECURSIVEFiller.json121
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011Filler.json132
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGEFiller.json146
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGMAfterFiller.json148
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGMBeforeFiller.json150
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_SuicideEndFiller.json137
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_SuicideMiddleFiller.json112
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_ABCB_RECURSIVEFiller.json121
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecall_10Filler.json119
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecall_10_OOGEFiller.json125
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecall_10_SuicideEndFiller.json108
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100Filler.json140
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGEFiller.json148
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGMAfterFiller.json150
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGMBeforeFiller.json150
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_SuicideEndFiller.json141
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_SuicideMiddleFiller.json125
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_ABCB_RECURSIVEFiller.json131
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101Filler.json160
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGEFiller.json148
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGMAfterFiller.json154
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGMBeforeFiller.json146
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_SuicideEndFiller.json139
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_SuicideMiddleFiller.json137
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_ABCB_RECURSIVEFiller.json131
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11Filler.json149
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11_OOGEFiller.json125
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11_SuicideEndFiller.json110
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110Filler.json144
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGEFiller.json148
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGMAfterFiller.json152
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGMBeforeFiller.json148
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_SuicideEndFiller.json125
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_SuicideMiddleFiller.json127
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_ABCB_RECURSIVEFiller.json131
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111Filler.json130
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGEFiller.json148
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGMAfterFiller.json150
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGMBeforeFiller.json148
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_SuicideEndFiller.json133
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_SuicideMiddleFiller.json128
-rw-r--r--src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_ABCB_RECURSIVEFiller.json131
58 files changed, 7978 insertions, 0 deletions
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001Filler.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001Filler.json
new file mode 100644
index 000000000..b8d2280fa
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001Filler.json
@@ -0,0 +1,164 @@
+{
+ "callcallcallcode_001" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x00",
+ "0x014a" : "0x00",
+ "0x014c" : "0x00",
+ "0x0150" : "0x00",
+ "0x0152" : "0x00",
+ "0x0154" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00",
+ "0x05" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00",
+ "0x05" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00",
+ "0x05" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00",
+ "0x05" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x014a" : "0x1000000000000000000000000000000000000000",
+ "0x014c" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0x0150" : "0x40",
+ "0x0152" : "0x26",
+ "0x0154" : "0x01",
+ "0x02" : "0x01",
+ "0x03" : "0x01",
+ "0x04" : "0x1000000000000000000000000000000000000000",
+ "0x05" : "0x02"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00",
+ "0x05" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00",
+ "0x05" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00",
+ "0x05" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 1 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 1 ]] (CALLCODE 300000 0x1000000000000000000000000000000000000002 2 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 5 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGEFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGEFiller.json
new file mode 100644
index 000000000..3fff39a3d
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGEFiller.json
@@ -0,0 +1,142 @@
+{
+ "callcallcallcode_001_OOGE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGMAfterFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGMAfterFiller.json
new file mode 100644
index 000000000..326084e1b
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGMAfterFiller.json
@@ -0,0 +1,162 @@
+{
+ "callcallcallcode_001_OOGMAfter" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 60151 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (CALLCODE 40073 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGMBeforeFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGMBeforeFiller.json
new file mode 100644
index 000000000..39b5f5da0
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_OOGMBeforeFiller.json
@@ -0,0 +1,146 @@
+{
+ "callcallcallcode_001_OOGMBefore" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 60151 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (CALLCODE 40073 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_SuicideEndFiller.json
new file mode 100644
index 000000000..1e39eb79c
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_SuicideEndFiller.json
@@ -0,0 +1,137 @@
+{
+ "callcallcallcode_001_SuicideEnd" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "shouldnotexist" : "1"
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SUICIDE 0x1000000000000000000000000000000000000001) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_SuicideMiddleFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_SuicideMiddleFiller.json
new file mode 100644
index 000000000..4c65e1a41
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_001_SuicideMiddleFiller.json
@@ -0,0 +1,146 @@
+{
+ "callcallcallcode_001_SuicideMiddle" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "shouldnotexist" : "1"
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x00" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "shouldnotexist" : "1"
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x00" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (SUICIDE 0x1000000000000000000000000000000000000000) [[ 2 ]] (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_ABCB_RECURSIVEFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_ABCB_RECURSIVEFiller.json
new file mode 100644
index 000000000..3daa03688
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcallcode_ABCB_RECURSIVEFiller.json
@@ -0,0 +1,121 @@
+{
+ "callcallcallcode_ABCB_RECURSIVE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "3000000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "1046140"
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "566207"
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 25000000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (CALLCODE 1000000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "30000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcode_01Filler.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcode_01Filler.json
new file mode 100644
index 000000000..0dcec2184
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcode_01Filler.json
@@ -0,0 +1,131 @@
+{
+ "callcallcode_01" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x04" : "0x00",
+ "0x05" : "0x00",
+ "0xe6" : "0x00",
+ "0xe8" : "0x00",
+ "0xec" : "0x00",
+ "0xee" : "0x00",
+ "0xf0" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x04" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x04" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x02" : "0x01",
+ "0x04" : "0x1000000000000000000000000000000000000000",
+ "0x05" : "0x01",
+ "0xe6" : "0x1000000000000000000000000000000000000000",
+ "0xe8" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0xec" : "0x40",
+ "0xee" : "0x21",
+ "0xf0" : "0x01"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x04" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x04" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 1 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 250000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 2 1) (SSTORE 4 (CALLER)) (SSTORE 5 (CALLVALUE)) (SSTORE 230 (ADDRESS)) (SSTORE 232 (ORIGIN)) (SSTORE 236 (CALLDATASIZE)) (SSTORE 238 (CODESIZE)) (SSTORE 240 (GASPRICE)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcode_01_OOGEFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcode_01_OOGEFiller.json
new file mode 100644
index 000000000..4726d8f3d
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcode_01_OOGEFiller.json
@@ -0,0 +1,113 @@
+{
+ "callcallcode_01_OOGE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 60072 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 2 1) (MSTORE 2 1)}",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcode_01_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcode_01_SuicideEndFiller.json
new file mode 100644
index 000000000..05bcd454c
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcode_01_SuicideEndFiller.json
@@ -0,0 +1,124 @@
+{
+ "callcallcode_01_SuicideEnd" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "shouldnotexist" : "1"
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 50000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SUICIDE 0x1000000000000000000000000000000000000000) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (SSTORE 2 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010Filler.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010Filler.json
new file mode 100644
index 000000000..66664ccf3
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010Filler.json
@@ -0,0 +1,154 @@
+{
+ "callcallcodecall_010" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x014a" : "0x00",
+ "0x014c" : "0x00",
+ "0x0150" : "0x00",
+ "0x0152" : "0x00",
+ "0x0154" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00",
+ "0x05" : "0x00",
+ "0x06" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x05" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00",
+ "0x04" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x014a" : "0x1000000000000000000000000000000000000000",
+ "0x014c" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0x0150" : "0x40",
+ "0x0152" : "0x26",
+ "0x0154" : "0x01",
+ "0x02" : "0x01",
+ "0x03" : "0x01",
+ "0x04" : "0x1000000000000000000000000000000000000000",
+ "0x05" : "0x1000000000000000000000000000000000000000",
+ "0x06" : "0x02"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x05" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00",
+ "0x04" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 1 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 2 ]] (CALLCODE 250000 0x1000000000000000000000000000000000000003 2 0 64 0 64 ) (SSTORE 5 (CALLER))}",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 6 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE))}",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGEFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGEFiller.json
new file mode 100644
index 000000000..8f78d3581
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGEFiller.json
@@ -0,0 +1,142 @@
+{
+ "callcallcodecall_010_OOGE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ [[ 2 ]] (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGMAfterFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGMAfterFiller.json
new file mode 100644
index 000000000..322fa1828
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGMAfterFiller.json
@@ -0,0 +1,144 @@
+{
+ "callcallcodecall_010_OOGMAfter" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 60151 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 40077 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ [[ 2 ]] (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGMBeforeFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGMBeforeFiller.json
new file mode 100644
index 000000000..b3e4b04ef
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_OOGMBeforeFiller.json
@@ -0,0 +1,148 @@
+{
+ "callcallcodecall_010_OOGMBefore" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 70150 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 40084 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) [[ 2 ]] (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_SuicideEndFiller.json
new file mode 100644
index 000000000..188cfda39
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_SuicideEndFiller.json
@@ -0,0 +1,127 @@
+{
+ "callcallcodecall_010_SuicideEnd" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "shouldnotexist" : "1"
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 2 ]] (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SUICIDE 0x1000000000000000000000000000000000000001) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_SuicideMiddleFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_SuicideMiddleFiller.json
new file mode 100644
index 000000000..2bf1fd974
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_010_SuicideMiddleFiller.json
@@ -0,0 +1,131 @@
+{
+ "callcallcodecall_010_SuicideMiddle" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "shouldnotexist" : "1"
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (SUICIDE 0x1000000000000000000000000000000000000000) [[ 2 ]] (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_ABCB_RECURSIVEFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_ABCB_RECURSIVEFiller.json
new file mode 100644
index 000000000..af27f96e7
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecall_ABCB_RECURSIVEFiller.json
@@ -0,0 +1,121 @@
+{
+ "callcallcodecall_ABCB_RECURSIVE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "3000000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "25026070"
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "566207"
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 25000000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 2 ]] (CALLCODE 500000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "30000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011Filler.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011Filler.json
new file mode 100644
index 000000000..bd6ad30bb
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011Filler.json
@@ -0,0 +1,132 @@
+{
+ "callcallcodecallcode_011" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x014a" : "0x00",
+ "0x014c" : "0x00",
+ "0x0150" : "0x00",
+ "0x0152" : "0x00",
+ "0x0154" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00",
+ "0x06" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x014a" : "0x1000000000000000000000000000000000000000",
+ "0x014c" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0x0150" : "0x40",
+ "0x0152" : "0x26",
+ "0x0154" : "0x01",
+ "0x02" : "0x01",
+ "0x03" : "0x01",
+ "0x04" : "0x1000000000000000000000000000000000000000",
+ "0x06" : "0x01"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 1 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 200000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 6 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE))}",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGEFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGEFiller.json
new file mode 100644
index 000000000..695fbc543
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGEFiller.json
@@ -0,0 +1,146 @@
+{
+ "callcallcodecallcode_011_OOGE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGMAfterFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGMAfterFiller.json
new file mode 100644
index 000000000..9793f87be
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGMAfterFiller.json
@@ -0,0 +1,148 @@
+{
+ "callcallcodecallcode_011_OOGMAfter" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 60145 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 50000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGMBeforeFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGMBeforeFiller.json
new file mode 100644
index 000000000..3d34e414a
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_OOGMBeforeFiller.json
@@ -0,0 +1,150 @@
+{
+ "callcallcodecallcode_011_OOGMBefore" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_SuicideEndFiller.json
new file mode 100644
index 000000000..7b4ade132
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_SuicideEndFiller.json
@@ -0,0 +1,137 @@
+{
+ "callcallcodecallcode_011_SuicideEnd" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "shouldnotexist" : "1"
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SUICIDE 0x1000000000000000000000000000000000000001) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_SuicideMiddleFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_SuicideMiddleFiller.json
new file mode 100644
index 000000000..d2f5f90b0
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_011_SuicideMiddleFiller.json
@@ -0,0 +1,112 @@
+{
+ "callcallcodecallcode_011_SuicideMiddle" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (SUICIDE 0x1000000000000000000000000000000000000000) [[ 2 ]] (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_ABCB_RECURSIVEFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_ABCB_RECURSIVEFiller.json
new file mode 100644
index 000000000..e7ea74889
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcallcodecallcode_ABCB_RECURSIVEFiller.json
@@ -0,0 +1,121 @@
+{
+ "callcallcodecallcode_ABCB_RECURSIVE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "3000000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "25026070"
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "566204"
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 25000000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "30000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecall_10Filler.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecall_10Filler.json
new file mode 100644
index 000000000..46205c7b6
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecall_10Filler.json
@@ -0,0 +1,119 @@
+{
+ "callcodecall_10" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x04" : "0x00",
+ "0x05" : "0x00",
+ "0xe6" : "0x00",
+ "0xe8" : "0x00",
+ "0xec" : "0x00",
+ "0xee" : "0x00",
+ "0xf0" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x04" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x02" : "0x01",
+ "0x04" : "0x1000000000000000000000000000000000000000",
+ "0x05" : "0x02",
+ "0xe6" : "0x1000000000000000000000000000000000000000",
+ "0xe8" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0xec" : "0x40",
+ "0xee" : "0x21",
+ "0xf0" : "0x01"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x04" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 1 ]] (CALLCODE 250000 0x1000000000000000000000000000000000000002 2 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 2 1) (SSTORE 4 (CALLER)) (SSTORE 5 (CALLVALUE)) (SSTORE 230 (ADDRESS)) (SSTORE 232 (ORIGIN)) (SSTORE 236 (CALLDATASIZE)) (SSTORE 238 (CODESIZE)) (SSTORE 240 (GASPRICE)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecall_10_OOGEFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecall_10_OOGEFiller.json
new file mode 100644
index 000000000..85ea6be22
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecall_10_OOGEFiller.json
@@ -0,0 +1,125 @@
+{
+ "callcodecall_10_OOGE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (CALLCODE 20020 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 2 1) (MSTORE 2 1)}",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecall_10_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecall_10_SuicideEndFiller.json
new file mode 100644
index 000000000..0c5a2dd7b
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecall_10_SuicideEndFiller.json
@@ -0,0 +1,108 @@
+{
+ "callcodecall_10_SuicideEnd" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "shouldnotexist" : "1"
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (CALLCODE 50000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (SUICIDE 0x1000000000000000000000000000000000000000) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (SSTORE 2 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100Filler.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100Filler.json
new file mode 100644
index 000000000..e77b40305
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100Filler.json
@@ -0,0 +1,140 @@
+{
+ "callcodecallcall_100" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x014a" : "0x00",
+ "0x014c" : "0x00",
+ "0x0150" : "0x00",
+ "0x0152" : "0x00",
+ "0x0154" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00",
+ "0x05" : "0x00",
+ "0x06" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00",
+ "0x04" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x014a" : "0x1000000000000000000000000000000000000000",
+ "0x014c" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0x0150" : "0x40",
+ "0x0152" : "0x26",
+ "0x0154" : "0x01",
+ "0x02" : "0x01",
+ "0x03" : "0x01",
+ "0x04" : "0x1000000000000000000000000000000000000000",
+ "0x05" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0x06" : "0x02"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00",
+ "0x04" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 1 ]] (CALLCODE 300000 0x1000000000000000000000000000000000000002 1 0 64 0 64 ) (SSTORE 5 (CALLER))}",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 2 ]] (CALLCODE 250000 0x1000000000000000000000000000000000000003 2 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 6 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGEFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGEFiller.json
new file mode 100644
index 000000000..c2a10bc99
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGEFiller.json
@@ -0,0 +1,148 @@
+{
+ "callcodecallcall_100_OOGE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ [[ 2 ]] (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGMAfterFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGMAfterFiller.json
new file mode 100644
index 000000000..859218f06
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGMAfterFiller.json
@@ -0,0 +1,150 @@
+{
+ "callcodecallcall_100_OOGMAfter" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (CALLCODE 40085 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ [[ 2 ]] (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGMBeforeFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGMBeforeFiller.json
new file mode 100644
index 000000000..0b5dbfedd
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_OOGMBeforeFiller.json
@@ -0,0 +1,150 @@
+{
+ "callcodecallcall_100_OOGMBefore" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) [[ 2 ]] (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_SuicideEndFiller.json
new file mode 100644
index 000000000..eb96bc404
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_SuicideEndFiller.json
@@ -0,0 +1,141 @@
+{
+ "callcodecallcall_100_SuicideEnd" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "shouldnotexist" : "1"
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 2 ]] (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SUICIDE 0x1000000000000000000000000000000000000001) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_SuicideMiddleFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_SuicideMiddleFiller.json
new file mode 100644
index 000000000..8ed15aa53
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_100_SuicideMiddleFiller.json
@@ -0,0 +1,125 @@
+{
+ "callcodecallcall_100_SuicideMiddle" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "shouldnotexist" : "1"
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (SUICIDE 0x1000000000000000000000000000000000000000) [[ 2 ]] (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_ABCB_RECURSIVEFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_ABCB_RECURSIVEFiller.json
new file mode 100644
index 000000000..223286e45
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcall_ABCB_RECURSIVEFiller.json
@@ -0,0 +1,131 @@
+{
+ "callcodecallcall_ABCB_RECURSIVE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "3000000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "30000000"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "566207"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (CALLCODE 1000000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 2 ]] (CALLCODE 500000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "30000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101Filler.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101Filler.json
new file mode 100644
index 000000000..876d5913e
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101Filler.json
@@ -0,0 +1,160 @@
+{
+ "callcodecallcallcode_101" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x014a" : "0x00",
+ "0x014c" : "0x00",
+ "0x0150" : "0x00",
+ "0x0152" : "0x00",
+ "0x0154" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00",
+ "0x05" : "0x00",
+ "0x06" : "0x00",
+ "0x07" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00",
+ "0x06" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x03" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x014a" : "0x1000000000000000000000000000000000000000",
+ "0x014c" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0x0150" : "0x40",
+ "0x0152" : "0x26",
+ "0x0154" : "0x01",
+ "0x02" : "0x01",
+ "0x03" : "0x01",
+ "0x04" : "0x1000000000000000000000000000000000000000",
+ "0x05" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0x06" : "0x1000000000000000000000000000000000000000",
+ "0x07" : "0x01"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00",
+ "0x06" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x03" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 1 ]] (CALLCODE 300000 0x1000000000000000000000000000000000000002 1 0 64 0 64 ) (SSTORE 5 (CALLER)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SSTORE 6 (CALLER)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGEFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGEFiller.json
new file mode 100644
index 000000000..75787d025
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGEFiller.json
@@ -0,0 +1,148 @@
+{
+ "callcodecallcallcode_101_OOGE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGMAfterFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGMAfterFiller.json
new file mode 100644
index 000000000..2597ac3be
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGMAfterFiller.json
@@ -0,0 +1,154 @@
+{
+ "callcodecallcallcode_101_OOGMAfter" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (CALLCODE 40085 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGMBeforeFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGMBeforeFiller.json
new file mode 100644
index 000000000..88049c17b
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_OOGMBeforeFiller.json
@@ -0,0 +1,146 @@
+{
+ "callcodecallcallcode_101_OOGMBefore" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_SuicideEndFiller.json
new file mode 100644
index 000000000..0846b7ec1
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_SuicideEndFiller.json
@@ -0,0 +1,139 @@
+{
+ "callcodecallcallcode_101_SuicideEnd" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "shouldnotexist" : "1"
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SUICIDE 0x1000000000000000000000000000000000000001) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_SuicideMiddleFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_SuicideMiddleFiller.json
new file mode 100644
index 000000000..5d1cb8085
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_101_SuicideMiddleFiller.json
@@ -0,0 +1,137 @@
+{
+ "callcodecallcallcode_101_SuicideMiddle" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "shouldnotexist" : "1"
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (SUICIDE 0x1000000000000000000000000000000000000000) [[ 2 ]] (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_ABCB_RECURSIVEFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_ABCB_RECURSIVEFiller.json
new file mode 100644
index 000000000..8894520fc
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcallcode_ABCB_RECURSIVEFiller.json
@@ -0,0 +1,131 @@
+{
+ "callcodecallcallcode_ABCB_RECURSIVE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "3000000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "30000000"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "566204"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (CALLCODE 1000000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "30000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11Filler.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11Filler.json
new file mode 100644
index 000000000..84af96919
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11Filler.json
@@ -0,0 +1,149 @@
+{
+ "callcodecallcode_11" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x04" : "0x00",
+ "0xe6" : "0x00",
+ "0xe8" : "0x00",
+ "0xec" : "0x00",
+ "0xee" : "0x00",
+ "0xf0" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x04" : "0x00",
+ "0x05" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "0x01",
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x04" : "0x00",
+ "0x05" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x02" : "0x01",
+ "0x04" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0xe6" : "0x1000000000000000000000000000000000000000",
+ "0xe8" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0xec" : "0x40",
+ "0xee" : "0x21",
+ "0xf0" : "0x01"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x04" : "0x00",
+ "0x05" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "0x01",
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x04" : "0x00",
+ "0x05" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 250000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 2 1) (SSTORE 4 (CALLER)) (SSTORE 5 (CALLVALUE)) (SSTORE 230 (ADDRESS)) (SSTORE 232 (ORIGIN)) (SSTORE 236 (CALLDATASIZE)) (SSTORE 238 (CODESIZE)) (SSTORE 240 (GASPRICE)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11_OOGEFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11_OOGEFiller.json
new file mode 100644
index 000000000..d0065581b
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11_OOGEFiller.json
@@ -0,0 +1,125 @@
+{
+ "callcodecallcode_11_OOGE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 2 1) (MSTORE 2 1)}",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11_SuicideEndFiller.json
new file mode 100644
index 000000000..c0209ef06
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcode_11_SuicideEndFiller.json
@@ -0,0 +1,110 @@
+{
+ "callcodecallcode_11_SuicideEnd" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "shouldnotexist" : "1"
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 50000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SUICIDE 0x1000000000000000000000000000000000000000) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (SSTORE 2 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110Filler.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110Filler.json
new file mode 100644
index 000000000..536247aaf
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110Filler.json
@@ -0,0 +1,144 @@
+{
+ "callcodecallcodecall_110" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x014a" : "0x00",
+ "0x014c" : "0x00",
+ "0x0150" : "0x00",
+ "0x0152" : "0x00",
+ "0x0154" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00",
+ "0x05" : "0x00",
+ "0x06" : "0x00",
+ "0x07" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00",
+ "0x04" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x014a" : "0x1000000000000000000000000000000000000000",
+ "0x014c" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0x0150" : "0x40",
+ "0x0152" : "0x26",
+ "0x0154" : "0x01",
+ "0x02" : "0x01",
+ "0x03" : "0x01",
+ "0x04" : "0x1000000000000000000000000000000000000000",
+ "0x05" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0x06" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0x07" : "0x01"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00",
+ "0x04" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 5 (CALLER))}",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 2 ]] (CALLCODE 250000 0x1000000000000000000000000000000000000003 1 0 64 0 64 ) (SSTORE 6 (CALLER))}",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGEFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGEFiller.json
new file mode 100644
index 000000000..642567955
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGEFiller.json
@@ -0,0 +1,148 @@
+{
+ "callcodecallcodecall_110_OOGE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ [[ 2 ]] (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGMAfterFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGMAfterFiller.json
new file mode 100644
index 000000000..6c2482fa6
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGMAfterFiller.json
@@ -0,0 +1,152 @@
+{
+ "callcodecallcodecall_110_OOGMAfter" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 40085 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1)}",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ [[ 2 ]] (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGMBeforeFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGMBeforeFiller.json
new file mode 100644
index 000000000..003ed4c8b
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_OOGMBeforeFiller.json
@@ -0,0 +1,148 @@
+{
+ "callcodecallcodecall_110_OOGMBefore" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 40084 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) [[ 2 ]] (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_SuicideEndFiller.json
new file mode 100644
index 000000000..5aaa1726b
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_SuicideEndFiller.json
@@ -0,0 +1,125 @@
+{
+ "callcodecallcodecall_110_SuicideEnd" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "shouldnotexist" : "1"
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 2 ]] (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SUICIDE 0x1000000000000000000000000000000000000001) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_SuicideMiddleFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_SuicideMiddleFiller.json
new file mode 100644
index 000000000..6c0b16667
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_110_SuicideMiddleFiller.json
@@ -0,0 +1,127 @@
+{
+ "callcodecallcodecall_110_SuicideMiddle" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "shouldnotexist" : "1"
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (SUICIDE 0x1000000000000000000000000000000000000000) [[ 2 ]] (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_ABCB_RECURSIVEFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_ABCB_RECURSIVEFiller.json
new file mode 100644
index 000000000..231da81cd
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecall_ABCB_RECURSIVEFiller.json
@@ -0,0 +1,131 @@
+{
+ "callcodecallcodecall_ABCB_RECURSIVE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "3000000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "30000000"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "566204"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 2 ]] (CALLCODE 500000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "30000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111Filler.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111Filler.json
new file mode 100644
index 000000000..6c48c2bb8
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111Filler.json
@@ -0,0 +1,130 @@
+{
+ "callcodecallcodecallcode_111" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x014a" : "0x00",
+ "0x014c" : "0x00",
+ "0x0150" : "0x00",
+ "0x0152" : "0x00",
+ "0x0154" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x014a" : "0x1000000000000000000000000000000000000000",
+ "0x014c" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0x0150" : "0x40",
+ "0x0152" : "0x26",
+ "0x0154" : "0x01",
+ "0x02" : "0x01",
+ "0x03" : "0x01",
+ "0x04" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00",
+ "0x04" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGEFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGEFiller.json
new file mode 100644
index 000000000..3eb8b1cdc
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGEFiller.json
@@ -0,0 +1,148 @@
+{
+ "callcodecallcodecallcode_111_OOGE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 40250 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGMAfterFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGMAfterFiller.json
new file mode 100644
index 000000000..d31a51877
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGMAfterFiller.json
@@ -0,0 +1,150 @@
+{
+ "callcodecallcodecallcode_111_OOGMAfter" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 60140 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 40100 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGMBeforeFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGMBeforeFiller.json
new file mode 100644
index 000000000..c35817ae4
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_OOGMBeforeFiller.json
@@ -0,0 +1,148 @@
+{
+ "callcodecallcodecallcode_111_OOGMBefore" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x02" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_SuicideEndFiller.json
new file mode 100644
index 000000000..4e9d484c9
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_SuicideEndFiller.json
@@ -0,0 +1,133 @@
+{
+ "callcodecallcodecallcode_111_SuicideEnd" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "shouldnotexist" : "1"
+ },
+ "1000000000000000000000000000000000000003" : {
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (CALL 100000 0x1000000000000000000000000000000000000002 1 0 64 0 64) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 2 ]] (CALLCODE 50000 0x1000000000000000000000000000000000000003 2 0 64 0 64 ) (SUICIDE 0x1000000000000000000000000000000000000001) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_SuicideMiddleFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_SuicideMiddleFiller.json
new file mode 100644
index 000000000..351353024
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_111_SuicideMiddleFiller.json
@@ -0,0 +1,128 @@
+{
+ "callcodecallcodecallcode_111_SuicideMiddle" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x02" : "0x00",
+ "0x03" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "storage" : {
+ "0x03" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (SUICIDE 0x1000000000000000000000000000000000000000) [[ 2 ]] (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_ABCB_RECURSIVEFiller.json b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_ABCB_RECURSIVEFiller.json
new file mode 100644
index 000000000..4f5e250df
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stCallDelegateCodesCallCodeHomestead/callcodecallcodecallcode_ABCB_RECURSIVEFiller.json
@@ -0,0 +1,131 @@
+{
+ "callcodecallcodecallcode_ABCB_RECURSIVE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "256",
+ "currentGasLimit" : "3000000000",
+ "currentNumber" : "1150000",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Frontier",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "30000000"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Homestead",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01"
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "storage" : {
+ "0x01" : "0x00",
+ "0x02" : "0x00"
+ }
+ },
+ "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "566201"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 1 ]] (DELEGATECALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ [[ 2 ]] (DELEGATECALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "30000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}