aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwinsvega <winsvega@mail.ru>2015-04-09 23:13:31 +0800
committerwinsvega <winsvega@mail.ru>2015-04-13 17:20:12 +0800
commite54952c8cf718fb1b7af853bead145292c7f25db (patch)
tree4ea39fdb66680d7151b52240e78cc118ff43615e
parentb848fa9af1487c3cfcc35d4ff24a6c48b0c79d06 (diff)
downloaddexon-solidity-e54952c8cf718fb1b7af853bead145292c7f25db.tar
dexon-solidity-e54952c8cf718fb1b7af853bead145292c7f25db.tar.gz
dexon-solidity-e54952c8cf718fb1b7af853bead145292c7f25db.tar.bz2
dexon-solidity-e54952c8cf718fb1b7af853bead145292c7f25db.tar.lz
dexon-solidity-e54952c8cf718fb1b7af853bead145292c7f25db.tar.xz
dexon-solidity-e54952c8cf718fb1b7af853bead145292c7f25db.tar.zst
dexon-solidity-e54952c8cf718fb1b7af853bead145292c7f25db.zip
BlockTests: add expect section
-rw-r--r--TestHelper.cpp1
-rw-r--r--bcInvalidHeaderTestFiller.json193
-rw-r--r--bcJS_API_TestFiller.json15
-rw-r--r--bcValidBlockTestFiller.json54
-rw-r--r--blockchain.cpp19
-rw-r--r--stTransactionTestFiller.json45
-rw-r--r--ttTransactionTestFiller.json21
7 files changed, 308 insertions, 40 deletions
diff --git a/TestHelper.cpp b/TestHelper.cpp
index e86b84aa..45fe55b0 100644
--- a/TestHelper.cpp
+++ b/TestHelper.cpp
@@ -671,7 +671,6 @@ Options::Options()
memory = true;
inputLimits = true;
bigData = true;
- checkState = true;
}
}
}
diff --git a/bcInvalidHeaderTestFiller.json b/bcInvalidHeaderTestFiller.json
index 2d23ca03..9c9bdacd 100644
--- a/bcInvalidHeaderTestFiller.json
+++ b/bcInvalidHeaderTestFiller.json
@@ -17,9 +17,14 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "100"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10000000000",
+ "balance" : "100000000000",
"nonce" : "0",
"code" : "",
"storage": {}
@@ -44,7 +49,7 @@
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : "5000000000"
+ "value" : "5000"
}
],
"uncleHeaders" : [
@@ -54,7 +59,6 @@
},
"log1_wrongBloom" : {
-
"genesisBlockHeader" : {
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
@@ -72,10 +76,14 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
-
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "100"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10000000000",
+ "balance" : "100000000000",
"nonce" : "0",
"code" : "",
"storage": {}
@@ -100,7 +108,7 @@
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : "5000000000"
+ "value" : "5000"
}
],
"uncleHeaders" : [
@@ -127,9 +135,14 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "100"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10000000000",
+ "balance" : "100000000000",
"nonce" : "0",
"code" : "",
"storage": {}
@@ -144,7 +157,7 @@
"blocks" : [
{
"blockHeader" : {
- "coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1"
+ "coinbase" : "0x9888f1f195afa192cfee860698584c030f4c9db1"
},
"transactions" : [
{
@@ -154,7 +167,7 @@
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : "5000000000"
+ "value" : "5000"
}
],
"uncleHeaders" : [
@@ -181,9 +194,14 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "100"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10000000000",
+ "balance" : "100000000000",
"nonce" : "0",
"code" : "",
"storage": {}
@@ -208,7 +226,7 @@
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : "5000000000"
+ "value" : "5000"
}
],
"uncleHeaders" : [
@@ -217,7 +235,7 @@
]
},
- "DifferentExtraData" : {
+ "DifferentExtraData1025" : {
"genesisBlockHeader" : {
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
@@ -235,9 +253,14 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "100"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10000000000",
+ "balance" : "100000000000",
"nonce" : "0",
"code" : "",
"storage": {}
@@ -252,7 +275,7 @@
"blocks" : [
{
"blockHeader" : {
- "extraData" : "0x42"
+ "extraData" : "0x0101020304050607080910111213141516171819202122232410000000000000000000200000000000000000003000000000000000000040000000000000000000500000000000000000006000000000000000000070000000000000000000800000000000000000009000000000000000000010000000000000000000100000000000000000002000000000000000000030000000000000000000400000000000000000005000000000000000000060000000000000000000700000000000000000008000000000000000000090000000000000000000100000000000000000001000000000000000000020000000000000000000300000000000000000004000000000000000000050000000000000000000600000000000000000007000000000000000000080000000000000000000900000000000000000001000000000000000000010000000000000000000200000000000000000003000000000000000000040000000000000000000500000000000000000006000000000000000000070000000000000000000800000000000000000009000000000000000000010000000000000000000100000000000000000002000000000000000000030000000000000000000400000000000000000005000000000000000000060000000000000000000700000000000000000008000000000000000000090000000000000000000100000000000000000001000000000000000000020000000000000000000300000000000000000004000000000000000000050000000000000000000600000000000000000007000000000000000000080000000000000000000900000000000000000001000000000000000000010000000000000000000200000000000000000003000000000000000000040000000000000000000500000000000000000006000000000000000000070000000000000000000800000000000000000009000000000000000000010000000000000000000100000000000000000002000000000000000000030000000000000000000400000000000000000005000000000000000000060000000000000000000700000000000000000008000000000000000000090000000000000000000100000000000000000001000000000000000000020000000000000000000300000000000000000004000000000000000000050000000000000000000600000000000000000007000000000000000000080000000000000000000900000000000000000001000000000000000000010000000000000000000200000000000000000003000000000000000000040000000000000000000500000000000000000006000000000000000000070000000000000000000800000000000000000009000000000000000000010000000000000000000"
},
"transactions" : [
{
@@ -262,7 +285,7 @@
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : "5000000000"
+ "value" : "5000"
}
],
"uncleHeaders" : [
@@ -289,9 +312,14 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "100"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10000000000",
+ "balance" : "100000000000",
"nonce" : "0",
"code" : "",
"storage": {}
@@ -316,7 +344,7 @@
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : "5000000000"
+ "value" : "5000"
}
],
"uncleHeaders" : [
@@ -344,9 +372,14 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "100"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10000000000",
+ "balance" : "100000000000",
"nonce" : "0",
"code" : "",
"storage": {}
@@ -371,7 +404,7 @@
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : "5000000000"
+ "value" : "5000"
}
],
"uncleHeaders" : [
@@ -398,9 +431,14 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "100"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10000000000",
+ "balance" : "100000000000",
"nonce" : "0",
"code" : "",
"storage": {}
@@ -425,7 +463,7 @@
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : "5000000000"
+ "value" : "5000"
}
],
"uncleHeaders" : [
@@ -452,9 +490,14 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "100"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10000000000",
+ "balance" : "100000000000",
"nonce" : "0",
"code" : "",
"storage": {}
@@ -479,7 +522,66 @@
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : "5000000000"
+ "value" : "5000"
+ }
+ ],
+ "uncleHeaders" : [
+ ]
+ }
+ ]
+ },
+
+ "wrongParentHash2" : {
+ "genesisBlockHeader" : {
+ "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
+ "difficulty" : "131072",
+ "extraData" : "0x42",
+ "gasLimit" : "3141592",
+ "gasUsed" : "0",
+ "mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "nonce" : "0x0102030405060708",
+ "number" : "0",
+ "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
+ "timestamp" : "0x54c98c81",
+ "transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
+ "uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
+ },
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "100"
+ }
+ },
+ "pre" : {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "100000000000",
+ "nonce" : "0",
+ "code" : "",
+ "storage": {}
+ },
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "100",
+ "nonce" : "0",
+ "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
+ "storage": {}
+ }
+ },
+ "blocks" : [
+ {
+ "blockHeader" : {
+ "parentHash" : "0x6151889c8f14ab46e32ee0b1894bc276416385d068a1ade000d0dadef9b08b18"
+ },
+ "transactions" : [
+ {
+ "data" : "",
+ "gasLimit" : "50000",
+ "gasPrice" : "10",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "value" : "5000"
}
],
"uncleHeaders" : [
@@ -506,9 +608,14 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "100"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10000000000",
+ "balance" : "100000000000",
"nonce" : "0",
"code" : "",
"storage": {}
@@ -533,7 +640,7 @@
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : "5000000000"
+ "value" : "5000"
}
],
"uncleHeaders" : [
@@ -560,9 +667,14 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "100"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10000000000",
+ "balance" : "100000000000",
"nonce" : "0",
"code" : "",
"storage": {}
@@ -587,7 +699,7 @@
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : "5000000000"
+ "value" : "5000"
}
],
"uncleHeaders" : [
@@ -614,9 +726,14 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "100"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10000000000",
+ "balance" : "100000000000",
"nonce" : "0",
"code" : "",
"storage": {}
@@ -641,7 +758,7 @@
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : "5000000000"
+ "value" : "5000"
}
],
"uncleHeaders" : [
@@ -668,9 +785,14 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "100"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10000000000",
+ "balance" : "100000000000",
"nonce" : "0",
"code" : "",
"storage": {}
@@ -695,7 +817,7 @@
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : "5000000000"
+ "value" : "5000"
}
],
"uncleHeaders" : [
@@ -722,9 +844,14 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "100"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10000000000",
+ "balance" : "100000000000",
"nonce" : "0",
"code" : "",
"storage": {}
@@ -749,7 +876,7 @@
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : "5000000000"
+ "value" : "5000"
}
],
"uncleHeaders" : [
diff --git a/bcJS_API_TestFiller.json b/bcJS_API_TestFiller.json
index 468b3b2e..fe7396e5 100644
--- a/bcJS_API_TestFiller.json
+++ b/bcJS_API_TestFiller.json
@@ -17,6 +17,21 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "70"
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "storage" : {
+ "0x" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0x01" : "0x42",
+ "0x02" : "0x23",
+ "0x03" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "0x04" : "0x01",
+ "0x05" : "0x55114a49"
+ }
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "10000000000000",
diff --git a/bcValidBlockTestFiller.json b/bcValidBlockTestFiller.json
index c0ed8643..3529c61e 100644
--- a/bcValidBlockTestFiller.json
+++ b/bcValidBlockTestFiller.json
@@ -1,5 +1,4 @@
{
-
"diff1024" : {
"genesisBlockHeader" : {
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
@@ -18,6 +17,11 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "10"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "10000000000",
@@ -64,6 +68,14 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "10"
+ },
+ "8888f1f195afa192cfee860698584c030f4c9db1" : {
+ "balance" : "1500000000000000000"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "10000000000",
@@ -109,6 +121,11 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "100"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "10000000000",
@@ -127,7 +144,7 @@
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : "0"
+ "value" : "100"
}
],
"uncleHeaders" : [
@@ -154,6 +171,11 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "10"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "10000000000",
@@ -199,6 +221,11 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "8000000000"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "10000000000",
@@ -253,6 +280,14 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "5000000000"
+ },
+ "8888f1f195afa192cfee860698584c030f4c9db1" : {
+ "balance" : "1500000000000210000"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "10000000000",
@@ -307,6 +342,11 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "5000000100"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "10000000000",
@@ -358,6 +398,11 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "8888f1f195afa192cfee860698584c030f4c9db1" : {
+ "balance" : "1500000000002500000"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "10000000000",
@@ -403,6 +448,11 @@
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
+ "expect" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "5000000100"
+ }
+ },
"pre" : {
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "10000000000",
diff --git a/blockchain.cpp b/blockchain.cpp
index 15cda803..b225d313 100644
--- a/blockchain.cpp
+++ b/blockchain.cpp
@@ -288,12 +288,24 @@ void doBlockchainTests(json_spirit::mValue& _v, bool _fillin)
blObj.erase(blObj.find("blockHeader"));
blObj.erase(blObj.find("uncleHeaders"));
blObj.erase(blObj.find("transactions"));
+ state = State(OverlayDB(), BaseState::Empty, biGenesisBlock.coinbaseAddress);
+ importer.importState(o["pre"].get_obj(), state);
}
blArray.push_back(blObj);
}
+
+ if (o.count("expect") > 0)
+ {
+ stateOptionsMap expectStateMap;
+ State stateExpect(OverlayDB(), BaseState::Empty, biGenesisBlock.coinbaseAddress);
+ importer.importState(o["expect"].get_obj(), stateExpect, expectStateMap);
+ ImportTest::checkExpectedState(stateExpect, state, expectStateMap, Options::get().checkState ? WhenError::Throw : WhenError::DontThrow);
+ o.erase(o.find("expect"));
+ }
+
o["blocks"] = blArray;
o["postState"] = fillJsonWithState(state);
- }
+ }//_fillin
else
{
@@ -667,6 +679,11 @@ RLPStream createFullBlockFromHeader(BlockInfo const& _bi, bytes const& _txs, byt
BOOST_AUTO_TEST_SUITE(BlockChainTests)
+BOOST_AUTO_TEST_CASE(bcForkBlockTest)
+{
+ dev::test::executeTests("bcForkBlockTest", "/BlockTests", dev::test::doBlockchainTests);
+}
+
BOOST_AUTO_TEST_CASE(bcInvalidRLPTest)
{
dev::test::executeTests("bcInvalidRLPTest", "/BlockTests", dev::test::doBlockchainTests);
diff --git a/stTransactionTestFiller.json b/stTransactionTestFiller.json
index 28e7318f..70d329d6 100644
--- a/stTransactionTestFiller.json
+++ b/stTransactionTestFiller.json
@@ -79,6 +79,49 @@
}
},
+ "EmptyTransaction3" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "45678256",
+ "currentGasLimit" : "1000000",
+ "currentNumber" : "0",
+ "currentTimestamp" : 1,
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : {
+ "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "21000"
+ },
+ "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
+ "code" : "0x"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "79000",
+ "nonce" : "1"
+ }
+ },
+ "pre" :
+ {
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "100000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" :
+ {
+ "data" : "",
+ "gasLimit" : "22000",
+ "gasPrice" : "1",
+ "nonce" : "",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "",
+ "value" : ""
+ }
+ },
+
"TransactionSendingToEmpty" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
@@ -640,6 +683,7 @@
},
"expect" : {
"0000000000000000000000000000000000000000" : {
+ "balance" : "0",
"storage" : {
"0x" : "0x0c",
"0x01" : "0x0c",
@@ -794,6 +838,7 @@
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : {
+ "balance" : "0",
"0000000000000000000000000000000000000000" : {
"storage" : {
"0x" : "0x0c",
diff --git a/ttTransactionTestFiller.json b/ttTransactionTestFiller.json
index 1d4f5bcd..cb39b533 100644
--- a/ttTransactionTestFiller.json
+++ b/ttTransactionTestFiller.json
@@ -347,7 +347,7 @@
}
},
- "TransactionWithSvalueWrongSize" : {
+ "TransactionWithSvalueWrongSize" : {
"transaction" :
{
"data" : "",
@@ -407,7 +407,7 @@
}
},
- "TransactionWithHihghGasPrice" : {
+ "TransactionWithHihghGasPrice" : {
"transaction" :
{
"data" : "",
@@ -422,7 +422,7 @@
}
},
- "TransactionWithGasLimitxPriceOverflow" : {
+ "TransactionWithGasLimitxPriceOverflow" : {
"transaction" :
{
"data" : "",
@@ -612,5 +612,20 @@
"v": "28",
"value": "0"
}
+ },
+
+ "RSsecp256k1" : {
+ "transaction" :
+ {
+ "data" : "0x5544",
+ "gasLimit" : "2000",
+ "gasPrice" : "1",
+ "nonce" : "3",
+ "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "value" : "10",
+ "v" : "28",
+ "r" : "0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+ "s" : "0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"
+ }
}
}