aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJeffrey Wilcke <jeffrey@ethereum.org>2016-11-24 23:24:04 +0800
committerJeffrey Wilcke <jeffrey@ethereum.org>2016-11-25 05:12:54 +0800
commit12d654a6fc4580f9194a931032ebf0e1b1927279 (patch)
tree7d7654ee3c405f16a5361f52bb8bf84789989144 /tests
parentc04c8f10f04a41e762589358418c65fd99891bb4 (diff)
downloaddexon-12d654a6fc4580f9194a931032ebf0e1b1927279.tar.gz
dexon-12d654a6fc4580f9194a931032ebf0e1b1927279.tar.zst
dexon-12d654a6fc4580f9194a931032ebf0e1b1927279.zip
core, core/state: fixed consensus issue added touch revert
Implemented proper touch revert journal entries and copied a Parity consensus bug in order to remain in sync with the current longest chain.
Diffstat (limited to 'tests')
-rw-r--r--tests/files/StateTests/EIP158/stEIP158SpecificTest.json100
-rw-r--r--tests/state_test.go46
-rw-r--r--tests/state_test_util.go2
3 files changed, 119 insertions, 29 deletions
diff --git a/tests/files/StateTests/EIP158/stEIP158SpecificTest.json b/tests/files/StateTests/EIP158/stEIP158SpecificTest.json
index 7600fd693..2612ddf0a 100644
--- a/tests/files/StateTests/EIP158/stEIP158SpecificTest.json
+++ b/tests/files/StateTests/EIP158/stEIP158SpecificTest.json
@@ -4,7 +4,7 @@
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x02b8feb0",
"currentGasLimit" : "0x989680",
- "currentNumber" : "0x3567e0",
+ "currentNumber" : "0x28d138",
"currentTimestamp" : "0x01",
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
@@ -75,7 +75,7 @@
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x02b8feb0",
"currentGasLimit" : "0x989680",
- "currentNumber" : "0x3567e0",
+ "currentNumber" : "0x28d138",
"currentTimestamp" : "0x01",
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
@@ -146,7 +146,7 @@
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x02b8feb0",
"currentGasLimit" : "0x989680",
- "currentNumber" : "0x3567e0",
+ "currentNumber" : "0x28d138",
"currentTimestamp" : "0x01",
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
@@ -221,7 +221,7 @@
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x02b8feb0",
"currentGasLimit" : "0x989680",
- "currentNumber" : "0x3567e0",
+ "currentNumber" : "0x28d138",
"currentTimestamp" : "0x01",
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
@@ -299,7 +299,7 @@
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x02b8feb0",
"currentGasLimit" : "0x989680",
- "currentNumber" : "0x3567e0",
+ "currentNumber" : "0x28d138",
"currentTimestamp" : "0x01",
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
@@ -357,5 +357,95 @@
"to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
"value" : "0x00"
}
+ },
+ "TouchToEmptyAccountRevert" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x02b8feb0",
+ "currentGasLimit" : "0x989680",
+ "currentNumber" : "0x28d138",
+ "currentTimestamp" : "0x01",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "logs" : [
+ ],
+ "out" : "0x",
+ "post" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "0x011170",
+ "code" : "0x",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a3fe90",
+ "code" : "0x",
+ "nonce" : "0x01",
+ "storage" : {
+ }
+ },
+ "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x00",
+ "code" : "0x6000600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b617530f16000556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x00",
+ "code" : "0x60006000600060006000731000000000000000000000000000000000000000617530f1600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "postStateRoot" : "8b8c2f339c8b3eeb1372eca8d379983d99b1631a828913743ec3f17cc855c3fb",
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "0x00",
+ "code" : "0x",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xe8d4a51000",
+ "code" : "0x",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x00",
+ "code" : "0x6000600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b617530f16000556001600255",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ },
+ "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0x00",
+ "code" : "0x60006000600060006000731000000000000000000000000000000000000000617530f1600155",
+ "nonce" : "0x00",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : "",
+ "gasLimit" : "0x011170",
+ "gasPrice" : "0x01",
+ "nonce" : "0x00",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "value" : "0x00"
+ }
}
} \ No newline at end of file
diff --git a/tests/state_test.go b/tests/state_test.go
index ac839186a..1582cc4af 100644
--- a/tests/state_test.go
+++ b/tests/state_test.go
@@ -683,7 +683,7 @@ func TestEIP158Create(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "stCreateTest.json")
@@ -696,7 +696,7 @@ func TestEIP158Specific(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "stEIP158SpecificTest.json")
@@ -709,7 +709,7 @@ func TestEIP158NonZeroCalls(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "stNonZeroCallsTest.json")
@@ -722,7 +722,7 @@ func TestEIP158ZeroCalls(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "stZeroCallsTest.json")
@@ -735,7 +735,7 @@ func TestEIP158_150Specific(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "EIP150", "stEIPSpecificTest.json")
@@ -748,7 +748,7 @@ func TestEIP158_150SingleCodeGasPrice(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "EIP150", "stEIPsingleCodeGasPrices.json")
@@ -761,7 +761,7 @@ func TestEIP158_150MemExpandingCalls(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "EIP150", "stMemExpandingEIPCalls.json")
@@ -774,7 +774,7 @@ func TestEIP158HomesteadStateSystemOperations(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "Homestead", "stSystemOperationsTest.json")
@@ -787,7 +787,7 @@ func TestEIP158HomesteadStatePreCompiledContracts(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "Homestead", "stPreCompiledContracts.json")
@@ -800,7 +800,7 @@ func TestEIP158HomesteadStateRecursiveCreate(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "Homestead", "stSpecialTest.json")
@@ -813,7 +813,7 @@ func TestEIP158HomesteadStateRefund(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "Homestead", "stRefundTest.json")
@@ -826,7 +826,7 @@ func TestEIP158HomesteadStateInitCode(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "Homestead", "stInitCodeTest.json")
@@ -839,7 +839,7 @@ func TestEIP158HomesteadStateLog(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "Homestead", "stLogTests.json")
@@ -852,7 +852,7 @@ func TestEIP158HomesteadStateTransaction(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "Homestead", "stTransactionTest.json")
@@ -865,7 +865,7 @@ func TestEIP158HomesteadCallCreateCallCode(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "Homestead", "stCallCreateCallCodeTest.json")
@@ -878,7 +878,7 @@ func TestEIP158HomesteadCallCodes(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "Homestead", "stCallCodes.json")
@@ -891,7 +891,7 @@ func TestEIP158HomesteadMemory(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "Homestead", "stMemoryTest.json")
@@ -904,7 +904,7 @@ func TestEIP158HomesteadMemoryStress(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
if os.Getenv("TEST_VM_COMPLEX") == "" {
@@ -920,7 +920,7 @@ func TestEIP158HomesteadQuadraticComplexity(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
if os.Getenv("TEST_VM_COMPLEX") == "" {
@@ -936,7 +936,7 @@ func TestEIP158HomesteadWallet(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "Homestead", "stWalletTest.json")
@@ -949,7 +949,7 @@ func TestEIP158HomesteadDelegateCodes(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "Homestead", "stCallDelegateCodes.json")
@@ -962,7 +962,7 @@ func TestEIP158HomesteadDelegateCodesCallCode(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "Homestead", "stCallDelegateCodesCallCode.json")
@@ -975,7 +975,7 @@ func TestEIP158HomesteadBounds(t *testing.T) {
chainConfig := &params.ChainConfig{
HomesteadBlock: new(big.Int),
EIP150Block: big.NewInt(2457000),
- EIP158Block: big.NewInt(3500000),
+ EIP158Block: params.MainNetSpuriousDragon,
}
fn := filepath.Join(stateTestDir, "EIP158", "Homestead", "stBoundsTest.json")
diff --git a/tests/state_test_util.go b/tests/state_test_util.go
index 01998c2a4..117bb4b28 100644
--- a/tests/state_test_util.go
+++ b/tests/state_test_util.go
@@ -111,7 +111,7 @@ func runStateTests(chainConfig *params.ChainConfig, tests map[string]VmTest, ski
}
for name, test := range tests {
- if skipTest[name] /*|| name != "NonZeroValue_CALL_ToEmpty"*/ {
+ if skipTest[name] /*|| name != "EXP_Empty"*/ {
glog.Infoln("Skipping state test", name)
continue
}